Function at 0x1004a1d8
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x148
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x134], esi
mov eax, dword [ebx + 8]
mov edi, dword [eax + 4]
mov edx, 1
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0x10], edi
xor eax, eax
mov dword [ebp - 0xa8], eax
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
movzx ecx, byte [edi + 0x12d]
mov edi, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], eax
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0x11c]
push eax
and ecx, 4
push edx
lea eax, [ebx + 0xc]
shr ecx, 2
mov dword [ebp - 0x18], ecx
lea ecx, [ebx + 0x10]
push ecx
push eax
call fcn.10013d90
mov dword [ebp - 0x1c], eax
add esp, 0x10
test eax, eax
jne 0x1004bb88
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x24], eax
cmp eax, 2
je 0x1004bc4d
cmp eax, 1
je 0x1004bb78
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0x12d]
test cl, 8
je 0x1004a30f
movsx edx, byte [eax + 0x120]
test edx, edx
jne 0x1004a30f
mov eax, dword [ebp - 0x98]
cmp eax, 1
jle 0x1004a30f
mov eax, dword [ebp - 0x24]
cmp eax, 5
jl 0x1004a2ed
cmp eax, 0x11
jle 0x1004a2f2
cmp eax, 0x19
jl 0x1004a2e6
cmp eax, 0x1f
jle 0x1004a2f2
cmp eax, 0x32
jl 0x1004a2da
cmp eax, 0x34
jle 0x1004a2f2
jmp 0x1004a30f
cmp eax, 0x28
jl 0x1004a30f
cmp eax, 0x30
jle 0x1004a2f2
jmp 0x1004a30f
cmp eax, 0x32
jge 0x1004a2f2
jmp 0x1004a30f
cmp eax, 0x19
jl 0x1004a30f
mov eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x1004a31a
mov edx, 1
mov dword [ebp - 0x34], edx
jmp 0x1004a31f
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov dword [ebp - 0x34], edx
mov edi, dword [ebp - 0x38]
test edx, edx
je 0x1004a32b
mov edi, 0
mov dword [ebp - 0x38], edi
cmp eax, 7
jl 0x1004a4d3
cmp eax, 8
jg 0x1004a4d3
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1004a35d
mov eax, dword [ebp - 0xa0]
cdq
mov edi, dword [ebp - 0x14]
idiv edi
mov edi, eax
jmp 0x1004a35f
xor edi, edi
test edi, edi
jne 0x1004a37b
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x1004a711
mov esi, 1
jmp 0x1004a245
mov eax, dword [ebp - 0x24]
cmp eax, 0x34
je 0x1004a38d
cmp eax, 0x1c
jl 0x1004a39a
cmp eax, 0x2c
jg 0x1004a39a
mov eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
jmp 0x1004a39f
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x118]
test edx, edx
jle 0x1004a3cd
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x108]
jne 0x1004a3d5
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x110]
jg 0x1004a3d5
cmp eax, 1
je 0x1004a9cc
jmp 0x1004a3d5
test edx, edx
jle 0x1004aa8e
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc], esi
xor ecx, ecx
xor eax, eax
mov edi, dword [ebp + eax - 0x10c]
mov esi, dword [ebp + eax - 0x108]
mov dword [ebp + ecx*4 - 0x54], edi
add eax, 0xc
mov dword [ebp + ecx*4 - 0x8c], esi
mov dword [ebp + ecx*4 - 0x70], edi
add ecx, 1
cmp ecx, edx
jl 0x1004a3e2
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc]
test edx, edx
jle 0x1004aa8e
mov dword [ebp - 0xc], esi
xor eax, eax
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x70]
sub esi, dword [ebp + eax*4 - 0x54]
imul esi, dword [ebp + eax*4 - 0x8c]
add eax, 1
add ecx, esi
cmp eax, edx
jl 0x1004a421
mov esi, dword [ebp - 0xc]
add ecx, dword [ebp - 0x114]
mov dword [ebp - 0xa4], ecx
lea edx, [ebp - 0x70]
lea eax, [ebp - 0x11c]
push eax
push edx
push 0
call fcn.1002470c
add esp, 0xc
mov eax, dword [ebp - 0x14]
cmp eax, 4
jne 0x1004a498
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
test dl, 3
jne 0x1004a48b
mov eax, dword [ebp - 0xa4]
test al, 3
jne 0x1004a48b
mov eax, 1
mov dword [ebp - 0x120], eax
jmp 0x1004a619
xor eax, eax
mov dword [ebp - 0x120], eax
jmp 0x1004a619
cmp eax, 8
jne 0x1004a619
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
test dl, 7
jne 0x1004a4c6
mov eax, dword [ebp - 0xa4]
test al, 7
jne 0x1004a4c6
mov eax, 1
mov dword [ebp - 0x128], eax
jmp 0x1004a619
xor eax, eax
mov dword [ebp - 0x128], eax
jmp 0x1004a619
cmp eax, 6
je 0x1004a4e1
cmp eax, 5
jne 0x1004a5e9
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x1004a4f6
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], eax
jmp 0x1004a4fb
xor eax, eax
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1004a51c
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x1004a711
mov edi, 1
mov esi, 1
jmp 0x1004a245
test cl, 4
je 0x1004a5cc
mov eax, edx
test eax, eax
jne 0x1004a5a5
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0xa4]
push eax
push edx
call fcn.1002405c
add esp, 8
test eax, eax
je 0x1004a5a5
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1004a55f
mov eax, dword [ebp - 0xa0]
cdq
mov ecx, dword [ebp - 0x14]
idiv ecx
mov edi, eax
jmp 0x1004a561
xor edi, edi
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x1004a626
test edi, edi
jne 0x1004a619
mov edx, dword [ebp - 0xa8]
mov dword [eax + 0xf0], 1
test edx, edx
jne 0x1004aa95
movzx ecx, byte [eax + 0x12d]
mov esi, 1
jmp 0x1004a245
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x1004a5c0
mov edi, 1
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1004a619
mov edi, 1
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1004a626
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x1004a5e2
mov edi, 1
jmp 0x1004a619
mov edi, 1
jmp 0x1004a626
mov eax, dword [ebp - 0x24]
cmp eax, 0x34
je 0x1004a5fb
cmp eax, 0x1c
jl 0x1004a60b
cmp eax, 0x2c
jg 0x1004a60b
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
mov edi, 2
jmp 0x1004a619
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], eax
mov edi, 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xf0], 0
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x1004aa95
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1004aaad
cmp edi, 1
jle 0x1004a6fc
mov eax, dword [ebp - 0x11c]
cmp eax, 7
je 0x1004a65e
cmp eax, 8
jne 0x1004a6d8
test esi, esi
je 0x1004a675
mov eax, dword [ebp - 0x98]
add dword [ebp - 0xa4], eax
add edi, 0xffffffff
xor esi, esi
jmp 0x1004a62c
mov eax, dword [ebp - 0x28]
test eax, eax
mov eax, dword [ebp - 0x118]
je 0x1004a687
mov esi, 1
test eax, eax
jle 0x1004aaa6
mov dword [ebp - 0x20], esi
xor edx, edx
mov dword [ebp - 0x24], edx
mov esi, edx
mov ecx, dword [ebp + esi*4 - 0x70]
sub ecx, dword [ebp + esi*4 - 0x54]
imul ecx, dword [ebp + esi*4 - 0x8c]
add esi, 1
add edx, ecx
cmp esi, eax
jl 0x1004a699
mov esi, dword [ebp - 0x20]
add edx, dword [ebp - 0x114]
mov dword [ebp - 0xa4], edx
lea edx, [ebp - 0x70]
lea eax, [ebp - 0x11c]
push eax
push edx
push 0
call fcn.1002470c
add esp, 0xc
jmp 0x1004a6e7
mov eax, dword [ebp - 0x98]
add dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xf0], 0
add edi, 0xffffffff
jmp 0x1004a62c
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
jmp 0x1004a245
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
cmp edx, 1
jne 0x1004a791
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x1004a747
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x3c]
mov dword [edi + 0xf0], 0
jne 0x1004a747
movzx edx, byte [edi + 0x12e]
jmp 0x1004a889
movzx eax, byte [edi + 0x12f]
test al, 0x10
jne 0x1004a9c0
push edi
call fcn.1002b710
pop ecx
test eax, eax
je 0x1004a807
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1004a980
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1004a7a4
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1004a791
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1004a7d2
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1004a7e4
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [edi + 0x90]
mov esi, dword [edi + 0x94]
movzx edx, byte [edi + 0x12e]
mov ecx, dword [edi + 0x54]
add eax, 1
adc esi, 0
mov dword [edi + 0x90], eax
and edx, 0xffffff7f
mov dword [edi + 0x94], esi
test ecx, ecx
je 0x1004a889
mov byte [edi + 0x12e], dl
movsx edx, byte [edi + 0x11f]
add edx, 0xfffffffb
cmp edx, 0xc
ja case.default.0x1004a859
mov edx, dword [edx*4 + 0x100bfe14]
jmp edx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movzx edx, byte [edi + 0x12e]
jmp 0x1004a889
mov dword [ecx], eax
movzx edx, byte [edi + 0x12e]
jmp 0x1004a889
mov word [ecx], ax
movzx edx, byte [edi + 0x12e]
jmp 0x1004a889
mov byte [ecx], al
movzx edx, byte [edi + 0x12e]
push dword [edi + 0xc8]
and byte [edi + 0x12b], 0x3f
and edx, 0xfffffffe
and byte [edi + 0x12c], 0xf7
mov byte [edi + 0x12e], dl
call fcn.100260c0
pop ecx
test eax, eax
je 0x1004a956
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1004a9a0
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1004a8f3
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1004a8e0
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1004a921
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1004a933
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x138]
mov dword [edx + 4], 0
jmp 0x1004a791
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov eax, 0x30
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 0
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, edi
call fcn.1004bc64
jmp 0x1004a75d
cmp edx, 1
jg 0x1004aa27
test cl, 4
jne 0x1004a9e1
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], eax
jmp 0x1004aa06
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0xa4]
push eax
push edx
call fcn.1002405c
add esp, 8
test eax, eax
jne 0x1004aa1c
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], eax
xor edx, edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xa4], eax
mov edi, 1
jmp 0x1004a45e
mov edx, dword [ebp - 0x118]
jmp 0x1004a3cd
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xc], esi
mov eax, 1
mov dword [ebp - 0x24], eax
mov ecx, eax
mov eax, 0xc
mov esi, dword [ebp + eax - 0x10c]
cmp esi, 1
je 0x1004aa50
mov esi, dword [ebp - 0xc]
jmp 0x1004a3cd
cmp esi, dword [ebp + eax - 0x110]
jg 0x1004aa48
mov esi, dword [ebp + eax - 0x11c]
imul esi, dword [ebp + eax - 0x114]
cmp esi, dword [ebp + eax - 0x108]
je 0x1004aa79
mov esi, dword [ebp - 0xc]
jmp 0x1004a3cd
add eax, 0xc
add ecx, 1
cmp ecx, edx
jl 0x1004aa3c
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0xc]
jmp 0x1004a9d1
xor ecx, ecx
jmp 0x1004a43d
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x9c]
jmp 0x1004a71a
xor edx, edx
jmp 0x1004a6b5
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x90], eax
test edx, edx
je 0x1004ad25
mov eax, dword [ebp - 0x14]
lea edx, [eax + 3]
and edx, dword [ebp - 0x90]
test dl, 3
jne 0x1004ac9a
cmp eax, 4
je 0x1004ac5a
cmp eax, 8
jne 0x1004ab5a
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], ecx
mov ecx, eax
mov dword [ebp - 0xbc], edi
and ecx, 0xff0000
mov edi, eax
shr edi, 0x18
shr ecx, 8
or edi, ecx
mov ecx, eax
and ecx, 0xff00
shl ecx, 8
or edi, ecx
shl eax, 0x18
or edi, eax
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xbc]
mov ecx, edx
shr ecx, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or ecx, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or ecx, eax
or ecx, edx
mov dword [ebp - 0xb4], ecx
jmp 0x1004ad17
cmp eax, 0x10
jne 0x1004ac38
mov dword [ebp - 0x20], esi
mov esi, eax
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x90]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0xc]
mov edi, eax
shr edi, 0x18
mov esi, eax
and esi, 0xff0000
shr esi, 8
or edi, esi
mov esi, eax
shl eax, 0x18
and esi, 0xff00
shl esi, 8
or edi, esi
or edi, eax
mov esi, edx
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xbc]
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, ecx
mov dword [ebp - 0xb4], esi
mov esi, dword [ebp - 0x20]
shr edx, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, ecx
shl ecx, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, ecx
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x24]
mov ecx, edx
shr ecx, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or ecx, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or ecx, eax
or ecx, edx
mov dword [ebp - 0xac], ecx
jmp 0x1004ad17
mov eax, dword [ebp - 0x90]
movzx edx, word [eax]
mov ecx, edx
shr ecx, 8
movzx edx, dl
shl edx, 8
or ecx, edx
mov word [ebp - 0xb8], cx
jmp 0x1004ad17
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xbc], edi
mov edi, dword [eax]
mov eax, edi
shr eax, 0x18
mov edx, edi
and edx, 0xff0000
shr edx, 8
or eax, edx
mov ecx, edi
shl edi, 0x18
and ecx, 0xff00
shl ecx, 8
or eax, ecx
or eax, edi
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
jmp 0x1004ad17
cmp eax, 1
je 0x1004b9a8
mov edx, eax
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
jle 0x1004ad17
mov ecx, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x20], esi
xor edx, edx
mov dword [ebp - 0x94], edx
mov edx, edi
mov esi, dword [ebp - 0x94]
lea edx, [ecx + edx]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [esi + edi]
sub edx, esi
movzx ecx, byte [edx - 1]
xor ecx, eax
xor eax, ecx
mov byte [ebp + esi - 0xb8], al
mov eax, dword [ebp - 0x14]
movzx edx, byte [edx - 1]
xor edx, ecx
sub eax, esi
add esi, 1
mov byte [ebp + eax - 0xb9], dl
mov eax, dword [ebp - 0x30]
cmp esi, eax
jl 0x1004acda
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x90], eax
jmp 0x1004ad76
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1004ad76
mov eax, dword [ebp - 0x9c]
cmp eax, 0x38
je 0x1004ad76
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xa4]
lea edx, [ebp - 0xb8]
push edx
mov edx, dword [ebp - 0x14]
push ecx
push edx
push eax
call fcn.100240f8
mov dword [ebp - 0x1c], eax
add esp, 0x10
mov edx, eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x90], eax
test edx, edx
je 0x1004ad76
push 0
push 0x5f
call fcn.100149ac
add esp, 8
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x12f]
mov dword [ebp - 0x94], edx
test dl, 4
je 0x1004adac
cmp edi, 1
je 0x1004b9bc
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x10]
and eax, 0xfffffffb
mov dword [ebp - 0x94], eax
mov byte [edx + 0x12f], al
mov eax, dword [ebp - 0x94]
test al, 0x10
jne 0x1004a645
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
lea edx, [edx + ecx]
cmp eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], eax
jae 0x1004b987
sub eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
test edx, edx
jne 0x1004b78b
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x24]
push eax
push edx
push ecx
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x10]
push edx
mov dword [edx + 0x3c], eax
call fcn.1002b710
mov dword [ebp - 0x1c], eax
add esp, 4
test eax, eax
jne 0x1004b6c6
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x12f]
test edx, 0x80
je 0x1004b5ef
mov edx, dword [eax + 0x40]
add dword [eax + 0x90], 1
adc dword [eax + 0x94], 0
mov dword [ebp - 0x94], edx
and byte [eax + 0x12e], 0x7f
test edx, edx
jne 0x1004ae6b
mov edx, eax
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x94], eax
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + 0x128]
test dl, 1
je 0x1004ae96
movzx edx, byte [eax + 0x12b]
test dl, 4
je 0x1004ae96
movsx edx, byte [eax + 0x11d]
cmp edx, 2
je 0x1004b2c1
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x94]
add edx, dword [ecx + 0xc0]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x94], edx
mov dword [ecx + 0x44], edx
mov ecx, dword [ebp - 0x30]
sub eax, ecx
add dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
lea eax, [ecx + eax]
cmp edx, eax
jae 0x1004b5d7
mov eax, edx
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x20], esi
mov edx, dword [ebp - 0x34]
sub eax, ecx
mov dword [ebp - 0x30], eax
test edx, edx
jne 0x1004b3ea
mov edx, dword [ebp - 0x90]
push eax
push edx
push ecx
call fcn.1007f4d4
add esp, 0xc
mov ecx, dword [edi + 0x3c]
add ecx, dword [ebp - 0x30]
push edi
mov dword [edi + 0x3c], ecx
call fcn.1002b710
mov dword [ebp - 0x1c], eax
add esp, 4
test eax, eax
jne 0x1004b328
mov eax, dword [edi + 0x40]
add dword [edi + 0x90], 1
adc dword [edi + 0x94], 0
and byte [edi + 0x12e], 0x7f
test eax, eax
jne 0x1004af4a
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
movzx edx, byte [edi + 0x128]
test dl, 1
je 0x1004af72
movzx edx, byte [edi + 0x12b]
test dl, 4
je 0x1004af72
movsx edx, byte [edi + 0x11d]
cmp edx, 2
je 0x1004b2dd
mov ecx, eax
mov dword [edi + 0x3c], eax
add eax, dword [edi + 0xc0]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x14]
mov dword [edi + 0x44], eax
sub esi, edx
add dword [ebp - 0x90], edx
mov dword [ebp - 0x14], esi
lea edx, [ecx + esi]
cmp eax, edx
jb 0x1004aeea
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x24], ecx
test edx, edx
mov eax, 1
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0xbc]
je 0x1004affc
mov eax, ecx
test al, 3
jne 0x1004aff2
mov eax, dword [ebp - 0x90]
test al, 3
jne 0x1004aff2
mov eax, dword [ebp - 0x14]
cmp eax, 4
jne 0x1004afe2
mov eax, 1
mov dword [ebp - 0x120], eax
jmp 0x1004b05e
mov eax, 1
mov dword [ebp - 0x120], eax
jmp 0x1004b079
xor eax, eax
mov dword [ebp - 0x120], eax
jmp 0x1004b079
mov edx, dword [ebp - 0x128]
test edx, edx
je 0x1004b04c
test eax, eax
je 0x1004b042
mov eax, dword [ebp - 0x24]
test al, 7
jne 0x1004b030
mov eax, dword [ebp - 0x90]
test al, 7
jne 0x1004b030
mov edx, dword [ebp - 0x14]
mov eax, 1
mov dword [ebp - 0x128], eax
cmp edx, 4
je 0x1004b054
jmp 0x1004b079
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x128], eax
cmp edx, 4
je 0x1004b054
jmp 0x1004b079
mov eax, dword [ebp - 0x14]
cmp eax, 4
je 0x1004b054
jmp 0x1004b079
mov eax, dword [ebp - 0x14]
cmp eax, 4
jne 0x1004b079
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x1004b079
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov dword [ecx], edx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x24], eax
jmp 0x1004b2b0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jne 0x1004b0b8
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x1004b0b8
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x24]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov eax, dword [eax + 0x3c]
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0x24], eax
jmp 0x1004b2b0
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1004b306
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x1004b2b0
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x94]
cmp esi, 2
je 0x1004b2ee
cmp esi, 4
je 0x1004b256
cmp esi, 8
jne 0x1004b17b
mov ecx, dword [edx + 4]
mov dword [ebp - 0x90], edx
mov edi, ecx
mov dword [ebp - 0x94], esi
mov esi, dword [edx]
mov edx, ecx
and edi, 0xff0000
shr edx, 0x18
shr edi, 8
or edx, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or edx, edi
or edx, ecx
mov dword [eax], edx
mov ecx, esi
shr ecx, 0x18
mov edx, esi
and edx, 0xff0000
shr edx, 8
or ecx, edx
mov edx, esi
and edx, 0xff00
shl edx, 8
or ecx, edx
shl esi, 0x18
or ecx, esi
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov dword [eax + 4], ecx
jmp 0x1004b28a
cmp esi, 0x10
jne 0x1004b28a
mov edi, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], esi
mov esi, dword [edx + 8]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x124], ecx
mov ecx, dword [edx + 0xc]
mov edx, ecx
shr edx, 0x18
mov edi, ecx
and edi, 0xff0000
shr edi, 8
or edx, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or edx, edi
or edx, ecx
mov dword [eax], edx
mov ecx, esi
shr ecx, 0x18
mov edx, esi
and edx, 0xff0000
shr edx, 8
or ecx, edx
mov edx, esi
and edx, 0xff00
shl edx, 8
or ecx, edx
shl esi, 0x18
or ecx, esi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x124]
mov esi, ecx
shr esi, 0x18
mov edx, ecx
and edx, 0xff0000
shr edx, 8
or esi, edx
mov edx, ecx
shl ecx, 0x18
and edx, 0xff00
shl edx, 8
or esi, edx
or esi, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], esi
mov esi, ecx
shr esi, 0x18
mov edx, ecx
and edx, 0xff0000
shr edx, 8
or esi, edx
mov edx, ecx
shl ecx, 0x18
and edx, 0xff00
shl edx, 8
or esi, edx
or esi, ecx
mov edx, dword [ebp - 0x90]
mov dword [eax + 0xc], esi
mov esi, dword [ebp - 0x94]
jmp 0x1004b28a
mov dword [ebp - 0x94], esi
mov esi, dword [edx]
mov ecx, esi
shr ecx, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or ecx, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or ecx, edi
or ecx, esi
mov esi, dword [ebp - 0x94]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
sub ecx, esi
mov dword [ebp - 0x30], ecx
add eax, esi
add edx, esi
test ecx, ecx
jg 0x1004b0f5
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3c], eax
jmp 0x1004a645
mov edx, dword [ebp - 0x94]
mov ecx, eax
lea eax, [edx + 1]
mov dword [ecx + 0x3c], eax
mov byte [edx], 0x20
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x24], eax
jmp 0x1004aea5
lea edx, [eax + 1]
mov dword [edi + 0x3c], edx
mov byte [eax], 0x20
mov ecx, dword [edi + 0x3c]
jmp 0x1004af77
movzx edi, word [edx]
mov ecx, edi
shr ecx, 8
and edi, 0xff
shl edi, 8
or ecx, edi
mov word [eax], cx
jmp 0x1004b28a
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x24]
push eax
push edx
push ecx
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x24], edx
jmp 0x1004b2b0
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1004b3ca
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1004b367
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1004b354
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1004b395
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1004b3a7
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x30]
test eax, eax
jle 0x1004af0e
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x10], edi
cmp edx, 2
je 0x1004b5bf
cmp edx, 4
je 0x1004b56c
cmp edx, 8
jne 0x1004b497
mov esi, dword [eax]
mov dword [ebp - 0x124], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x94], eax
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov eax, dword [ebp - 0x94]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x124]
jmp 0x1004b5a0
cmp edx, 0x10
jne 0x1004b5a0
mov edi, dword [eax]
mov esi, dword [eax + 8]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x124], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x12c], edx
mov edx, dword [eax + 0xc]
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
shl edx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
and eax, 0xff00
shl eax, 8
or edx, eax
shl esi, 0x18
or edx, esi
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x12c]
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 8], esi
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x94]
mov dword [ecx + 0xc], esi
jmp 0x1004b5a0
mov esi, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, esi
shr eax, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x1c]
sub esi, edx
mov dword [ebp - 0x1c], esi
add ecx, edx
add eax, edx
test esi, esi
jg 0x1004b413
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi + 0x3c]
jmp 0x1004af0e
movzx edi, word [eax]
mov esi, edi
shr esi, 8
and edi, 0xff
shl edi, 8
or esi, edi
mov word [ecx], si
jmp 0x1004b5a0
mov edx, dword [ebp - 0x120]
mov eax, 1
test edx, edx
jne 0x1004afba
jmp 0x1004affc
mov edi, eax
mov edx, dword [edi + 0x18]
test edx, edx
je 0x1004b6a1
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x1004b639
mov eax, 0x42
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x1004b621
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov eax, 0x42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x1004b665
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x1004b677
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x42
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1004b76b
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1004b708
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1004b6f5
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1004b736
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1004b748
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
test eax, eax
jle 0x1004ae05
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x20], esi
cmp edx, 2
je 0x1004b96f
cmp edx, 4
je 0x1004b916
cmp edx, 8
jne 0x1004b841
mov esi, dword [eax]
mov dword [ebp - 0x94], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2c], eax
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x94]
jmp 0x1004b944
cmp edx, 0x10
jne 0x1004b944
mov edi, dword [eax]
mov esi, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x124], edx
mov edx, dword [eax + 0xc]
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
shl edx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
and eax, 0xff00
shl eax, 8
or edx, eax
shl esi, 0x18
or edx, esi
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x124]
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0x12c]
mov dword [ecx + 8], esi
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0xc], esi
jmp 0x1004b944
mov esi, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, esi
shr eax, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
sub esi, edx
mov dword [ebp - 0x1c], esi
add ecx, edx
add eax, edx
test esi, esi
jg 0x1004b7c3
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x24], edx
jmp 0x1004ae05
movzx edi, word [eax]
mov esi, edi
shr esi, 8
and edi, 0xff
shl edi, 8
or esi, edi
mov word [ecx], si
jmp 0x1004b944
mov edx, dword [ebp - 0x120]
xor eax, eax
test edx, edx
je 0x1004affc
mov eax, dword [ebp - 0x14]
cmp eax, 4
je 0x1004b054
jmp 0x1004b079
mov eax, dword [ebp - 0x90]
movzx edx, byte [eax]
mov byte [ebp - 0xb8], dl
jmp 0x1004ad17
mov eax, dword [ebx + 0xc]
movsx edx, byte [eax]
cmp edx, 1
jne 0x1004ad94
mov eax, dword [ebp - 0x34]
and dword [ebp - 0x94], 0xfffffffb
test eax, eax
jne 0x1004ba0e
mov eax, dword [ebp - 0x10]
movsx edx, byte [eax + 0x11c]
cmp edx, 1
je 0x1004ba5a
mov edx, eax
mov eax, dword [ebp - 0x94]
mov byte [edx + 0x12f], al
test al, 0x10
je 0x1004ba39
mov eax, edx
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
jmp 0x1004a245
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x94]
mov byte [edx + 0x12f], al
test al, 0x10
je 0x1004bb57
mov eax, edx
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
jmp 0x1004a245
mov eax, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
lea edx, [edx + ecx]
cmp eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], eax
jb 0x1004add7
jmp 0x1004b987
movzx edx, byte [eax + 0x12b]
test dl, 4
je 0x1004ba92
movzx edx, byte [eax + 0x128]
test dl, 1
je 0x1004ba82
movsx edx, byte [eax + 0x11d]
cmp edx, 2
je 0x1004b9e8
movzx edx, byte [eax + 0x131]
test dl, 0x10
jne 0x1004b9e8
mov edx, eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [edx + 0xc0]
jne 0x1004baf9
mov eax, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
lea edx, [edx + ecx]
cmp edx, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
ja 0x1004bb1d
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x80], ecx
mov dword [edx + 0xfc], eax
mov eax, dword [ebp - 0x94]
or eax, 0x10
mov byte [edx + 0x12f], al
test al, 0x10
je 0x1004bb0a
mov eax, edx
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
jmp 0x1004a245
mov eax, dword [ebp - 0x94]
mov byte [edx + 0x12f], al
jmp 0x1004b9f6
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
cmp eax, edx
jb 0x1004add7
jmp 0x1004b987
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x94]
mov byte [edx + 0x12f], al
test al, 0x10
je 0x1004bb44
mov eax, edx
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
jmp 0x1004a245
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
cmp eax, edx
jb 0x1004add7
jmp 0x1004b987
mov eax, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
lea edx, [edx + ecx]
cmp eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], eax
jb 0x1004add7
jmp 0x1004b987
mov eax, 1
mov dword [ebp - 0xa8], eax
jmp 0x1004a626
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1004bc2d
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1004bbca
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1004bbb7
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1004bbf8
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1004bc0a
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
xor eax, eax
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret