Function at 0x403f10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x14c
mov dword [esp + 4], 0x42edec
mov dword [esp], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], edx
call fcn.0041eba0
test eax, eax
mov ebx, eax
je 0x403f41
cmp dword [eax], 1
je 0x403ff0
mov byte [esp + 0x24], 0
mov byte [esp + 0x30], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x18], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ee31
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x403f72
cmp dword [eax], 3
je 0x403fb0
mov dword [esp + 4], 0x42ee38
mov dword [esp], 0
xor esi, esi
xor ebx, ebx
call fcn.00405bd0
xor ebp, ebp
mov dword [esp], ebp
call fcn.0042ae70
mov dword [esp], ebx
call fcn.0042ae70
add esp, 0x14c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call fcn.0041f120
mov edi, dword [esp + 0x2c]
mov dword [edi + 0xa0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ee4c
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x403fe3
cmp dword [eax], 3
je 0x4040b0
mov dword [esp + 4], 0x42ee54
jmp 0x403f7a
mov dword [esp], eax
call fcn.0041ee00
test eax, eax
mov dword [esp + 0x20], eax
jle 0x403f41
mov byte [esp + 0x24], 0
xor ebp, ebp
mov byte [esp + 0x30], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x18], 0
jmp 0x40406e
mov edi, 0x42ee04
mov esi, eax
mov ecx, 0x10
repe cmpsb byte [esi], byte es:[edi]
je 0x4040a0
mov edi, 0x42ee14
mov esi, eax
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x4040a7
mov edi, 0x42ee22
mov esi, eax
mov ecx, 0xf
mov eax, 1
repe cmpsb byte [esi], byte es:[edi]
movzx edi, byte [esp + 0x24]
cmove edi, eax
mov eax, edi
mov byte [esp + 0x24], al
add ebp, 1
cmp dword [esp + 0x20], ebp
je 0x403f55
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.0041ee20
mov dword [esp], eax
call fcn.0041f030
test eax, eax
je 0x404061
mov edi, 0x42edf4
mov esi, eax
mov ecx, 0x10
repe cmpsb byte [esi], byte es:[edi]
jne 0x404020
mov byte [esp + 0x18], 1
jmp 0x404061
mov byte [esp + 0x28], 1
jmp 0x404061
mov byte [esp + 0x30], 1
jmp 0x404061
mov dword [esp], eax
call fcn.0041f120
cmp al, 4
mov dword [esp + 0x20], eax
jbe 0x4040d0
cmp byte [esp + 0x24], 0
je 0x40416d
mov byte [esp + 0x20], 4
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ee8b
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404d91
mov dword [esp], eax
call fcn.0041f030
test eax, eax
je 0x40413e
mov dword [esp + 4], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], 0x20
mov dword [esp], eax
call fcn.00406800
test al, al
je 0x404160
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42f00f
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404131
cmp dword [eax], 3
je 0x404199
mov dword [esp + 4], 0x42ee9d
jmp 0x403f7a
mov dword [esp + 8], 0x42ee8b
mov dword [esp + 4], 0x42eda1
mov dword [esp], 0
call fcn.00405bd0
lea esi, [esi]
mov dword [esp + 4], 0x42eff0
jmp 0x403f7a
cmp byte [esp + 0x30], 0
jne 0x4040d0
mov eax, dword [esp + 0x20]
mov dword [esp + 4], 0x42ee6c
mov dword [esp], 1
mov dword [esp + 8], eax
call fcn.00405bd0
jmp 0x4040d0
mov dword [esp], eax
call fcn.0041f120
mov dword [esp + 4], 0x42eeb2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404d70
mov dword [esp], eax
call fcn.0041f030
test eax, eax
je 0x404217
mov dword [esp + 4], eax
lea eax, [esp + 0x54]
mov dword [esp + 8], 4
mov dword [esp], eax
call fcn.00406800
test al, al
je 0x404233
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42f029
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
mov dword [esp + 0x24], eax
je 0x40420a
cmp dword [eax], 1
je 0x404240
mov dword [esp + 4], 0x42eeb7
jmp 0x403f7a
mov dword [esp + 8], 0x42eeb2
mov dword [esp + 4], 0x42eda1
mov dword [esp], 0
call fcn.00405bd0
mov dword [esp + 4], 0x42f017
jmp 0x403f7a
mov dword [esp], eax
mov edi, eax
xor esi, esi
call fcn.0041ee00
test eax, eax
mov ebp, eax
mov dword [esp + 0x3c], eax
jle 0x404293
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0041ee20
mov dword [esp + 4], 0x42ed84
mov dword [esp], eax
call fcn.0041eba0
mov dword [esp], eax
call fcn.0041f030
test eax, eax
je 0x40420a
mov dword [esp], eax
add ebx, 1
call fcn.0042ae28
shr eax, 1
add esi, eax
cmp ebp, ebx
jne 0x404258
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42eed1
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x4045d3
mov dword [esp + 4], 0x42ed84
mov dword [esp], eax
call fcn.0041eba0
mov dword [esp], eax
call fcn.0041f030
test eax, eax
mov ebx, eax
je 0x4045a8
xor eax, eax
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx - 1]
mov dword [esp + 0x30], eax
shr dword [esp + 0x30], 1
mov edi, dword [esp + 0x30]
mov eax, edi
add eax, 0x64
mov dword [esp], eax
call fcn.0042ae20
cmp edi, 0x3b
mov ebp, eax
jle 0x4045b6
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.00406800
test al, al
je 0x4045b6
cmp byte [esp + 0x18], 0
lea eax, [esp + 0x78]
mov dword [esp + 0x34], eax
je 0x404413
cmp byte [0x4322e0], 0
je 0x40460f
xor eax, eax
mov edi, 0x4322e0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx - 1]
mov edi, eax
mov dword [esp + 0x18], eax
movzx eax, byte [ebp + 0x29]
add eax, edi
cmp eax, 0x64
jg 0x404b32
lea eax, [esp + 0x78]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x4322e0
mov dword [esp], eax
mov dword [esp + 0x34], eax
call fcn.0042ae30
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ef9d
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
mov dword [esp + 0x48], eax
je 0x4043a2
cmp dword [eax], 0
je 0x4046f8
cmp dword [esp + 0x18], 0
je 0x404413
movzx edx, byte [ebp + 0x29]
mov eax, dword [esp + 0x18]
lea ebx, [ebp + edx + 0x2a]
add eax, edx
cmp eax, 0x4b
mov eax, dword [esp + 0x18]
jle 0x404d4a
lea eax, [eax + edx + 2]
cmp eax, 0x64
jle 0x404d0b
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov dword [esp + 4], ebx
sub eax, 0x2a
sub eax, edx
mov dword [esp + 8], eax
mov eax, edi
add eax, ebx
mov dword [esp], eax
call fcn.0042aeb8
mov eax, edi
add byte [ebp + 0x29], al
mov eax, dword [esp + 0x18]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.0042ae30
add dword [esp + 0x30], edi
mov edi, dword [esp + 0x3c]
mov eax, edi
add eax, 1
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004068e0
mov ebx, eax
mov eax, dword [esp + 0x30]
add eax, ebx
add eax, esi
lea eax, [eax + eax + 1]
mov dword [esp], eax
call fcn.0042ae20
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 0xa4], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.00406740
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xa4]
lea eax, [eax + ebx*2]
mov dword [esp], eax
call fcn.00406740
mov eax, edi
add eax, 2
and eax, 0xfffffffe
shl eax, 5
mov dword [esp], eax
call fcn.0042ae20
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov ebx, eax
mov dword [esp], ebx
call fcn.0040d230
test edi, edi
jle 0x4047bf
cmp byte [esp + 0x28], 0
je 0x404631
lea eax, [ebx + 0x20]
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
jmp 0x404541
mov dword [esp], eax
mov dword [esp + 0x34], eax
call fcn.0042ae28
mov esi, eax
shr esi, 1
mov dword [esp], esi
call fcn.0042ae20
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
mov edi, eax
mov dword [esp + 0x28], eax
call fcn.00406800
test al, al
je 0x404581
mov eax, dword [esp + 0x30]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
add dword [esp + 0x18], 1
mov dword [esp], eax
call fcn.0040d230
mov dword [esp], edi
call fcn.0042ae70
mov eax, dword [esp + 0x18]
add dword [esp + 0x30], 0x20
cmp dword [esp + 0x3c], eax
je 0x4047bf
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.0041ee20
mov dword [esp + 4], 0x42ed84
mov dword [esp], eax
call fcn.0041eba0
mov dword [esp], eax
call fcn.0041f030
test eax, eax
jne 0x4044d7
mov dword [esp], 0
call fcn.0042ae20
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0x42eeb7
xor esi, esi
mov dword [esp], 0
call fcn.00405bd0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042ae70
jmp 0x403f8c
mov dword [esp], 0x64
call fcn.0042ae20
mov ebp, eax
mov dword [esp + 4], 0x42eedd
xor esi, esi
xor ebx, ebx
mov dword [esp], 0
call fcn.00405bd0
jmp 0x403f8c
cmp dword [0x432360], 0
jne 0x404b5b
cmp byte [0x42d020], 0
je 0x404624
mov dword [esp + 4], 0x42eef8
xor esi, esi
xor ebx, ebx
mov dword [esp], 3
xor ebp, ebp
call fcn.00405bd0
mov byte [0x42d024], 0
jmp 0x403f8c
lea eax, [esp + 0x78]
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], eax
jmp 0x40437d
mov dword [esp + 4], 0x42ef29
jmp 0x403f7a
xor esi, esi
mov dword [esp + 0x30], ebp
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x4046b9
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea edi, [ecx - 1]
shr edi, 1
mov dword [esp], edi
call fcn.0042ae20
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
mov esi, eax
mov dword [esp + 0x28], eax
call fcn.00406800
test al, al
je 0x404b25
add ebp, 1
mov eax, ebp
shl eax, 5
add eax, dword [esp + 0x18]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0040d230
mov dword [esp], esi
call fcn.0042ae70
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xa4]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0042aef8
cmp dword [esp + 0x3c], ebp
je 0x4047b7
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0041ee20
mov dword [esp + 4], 0x42ed84
mov dword [esp], eax
call fcn.0041eba0
mov dword [esp], eax
call fcn.0041f030
test eax, eax
mov ebx, eax
jne 0x40463f
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x30]
jmp 0x404571
mov dword [esp], eax
call fcn.0041ec30
mov ebx, eax
jmp 0x40477c
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea edi, [ecx - 1]
shr edi, 1
cmp edi, 0x64
jg 0x40479e
lea eax, [esp + 0xdc]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00406800
test al, al
je 0x40479e
movzx eax, byte [ebp + 0x29]
add eax, dword [esp + 0x18]
add eax, edi
cmp eax, 0x64
jg 0x40476a
mov eax, dword [esp + 0x34]
lea edx, [esp + 0xdc]
add eax, dword [esp + 0x18]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0042ae30
add dword [esp + 0x18], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0041eca0
mov ebx, eax
test ebx, ebx
je 0x4043a2
mov dword [esp], ebx
call fcn.0041ed20
mov dword [esp], eax
call fcn.0041f030
test eax, eax
mov edx, eax
jne 0x404704
mov dword [esp + 4], 0x42efa9
mov dword [esp], 0
call fcn.00405bd0
jmp 0x4043a2
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x48]
cmp ebp, 1
jle 0x40481f
test ebp, 1
je 0x4047f0
lea edx, [ebp + 0x7ffffff]
mov ecx, 8
shl edx, 5
add ebp, 1
lea eax, [ebx + edx + 0x20]
lea esi, [ebx + edx]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
sar ebp, 1
xor esi, esi
mov eax, esi
shl eax, 6
add eax, ebx
mov dword [esp + 4], eax
mov eax, esi
add esi, 1
shl eax, 5
add eax, ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
call fcn.0040d230
cmp ebp, esi
jg 0x4047f4
jmp 0x4047c7
mov eax, dword [esp + 0x20]
mov edx, 8
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
bswap eax
mov dword [edi], eax
lea eax, [esp + 0x58]
movzx esi, byte [eax + 1]
add eax, 4
movzx ecx, byte [eax - 2]
movzx edi, byte [eax - 4]
shl esi, 8
shl ecx, 0x10
add esi, ecx
movzx ecx, byte [eax - 1]
add esi, edi
mov edi, dword [esp + 0x2c]
shl ecx, 0x18
add ecx, esi
mov dword [edi + edx*4], ecx
sub edx, 1
jne 0x404838
mov eax, ebx
xor edx, edx
movzx esi, byte [eax + 2]
add eax, 4
movzx ecx, byte [eax - 3]
movzx edi, byte [eax - 1]
shl esi, 8
shl ecx, 0x10
add esi, ecx
movzx ecx, byte [eax - 4]
add esi, edi
mov edi, dword [esp + 0x2c]
shl ecx, 0x18
add ecx, esi
mov dword [edi + edx*4 + 0x24], ecx
add edx, 1
cmp edx, 8
jne 0x40486a
mov eax, dword [esp + 0x38]
add edi, 0x4c
movzx edx, byte [esp + 0x55]
movzx ecx, byte [esp + 0x54]
bswap eax
mov dword [edi - 8], eax
movzx eax, byte [esp + 0x56]
shl edx, 8
shl eax, 0x10
add edx, eax
movzx eax, byte [esp + 0x57]
add edx, ecx
shl eax, 0x18
add eax, edx
mov edx, 0x34
mov dword [edi - 4], eax
xor eax, eax
test edi, 1
jne 0x404b1d
test edi, 2
jne 0x404b13
mov ecx, edx
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x4048fb
stosw word es:[edi], ax
and dl, 1
je 0x404901
stosb byte es:[edi], al
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x50], 0x80000000
mov dword [eax + 0x7c], 0x280
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42edbf
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x4049d6
mov dword [esp], eax
call fcn.0041f030
test eax, eax
je 0x404af2
lea edi, [esp + 0xdc]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00406800
test al, al
je 0x4049f2
mov eax, 8
xor edx, edx
lea edx, [edi + edx*4]
movzx esi, byte [edx + 2]
movzx ecx, byte [edx + 1]
shl esi, 8
shl ecx, 0x10
add esi, ecx
movzx ecx, byte [edx + 3]
movzx edx, byte [edx]
add ecx, esi
mov esi, dword [esp + 0x2c]
shl edx, 0x18
add edx, ecx
mov dword [esi + eax*4 + 0x7c], edx
mov edx, 9
sub edx, eax
sub eax, 1
jne 0x404969
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ebf6
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404a27
cmp dword [eax], 2
je 0x404a0d
mov dword [esp + 4], 0x42efc2
xor esi, esi
mov dword [esp], 0
call fcn.00405bd0
jmp 0x403f8c
mov dword [esp + 8], 0x42edbf
mov dword [esp + 4], 0x42ed89
mov dword [esp], 0
call fcn.00405bd0
mov dword [esp + 4], 0x42edd8
xor esi, esi
mov dword [esp], 0
call fcn.00405bd0
jmp 0x403f8c
mov dword [esp], eax
call fcn.0041f030
mov dword [esp], eax
call fcn.0042ae78
mov edi, dword [esp + 0x2c]
mov dword [edi + 0xa8], eax
mov eax, dword [esp + 0x14]
mov esi, 1
mov dword [esp + 4], 0x42efd6
mov dword [esp], eax
call fcn.0041eba0
cmp byte [0x42d028], 0
mov edi, eax
je 0x403f8c
test eax, eax
je 0x403f8c
cmp dword [eax], 2
jne 0x403f8c
mov eax, dword [0x43203c]
mov dword [esp], eax
call fcn.0042ae70
mov dword [esp], edi
call fcn.0041f030
mov dword [esp], eax
call fcn.0042ae78
cmp byte [0x432030], 0
mov dword [0x43203c], eax
jne 0x403f8c
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42efe1
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404aac
cmp dword [eax], 2
je 0x404ae6
mov eax, dword [0x432370]
mov dword [esp], eax
mov esi, 1
call fcn.0042ae78
imul edx, dword [0x42d008], 0xc
add edx, dword [0x43310c]
mov byte [0x432030], 1
mov edx, dword [edx + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00409590
jmp 0x403f8c
mov dword [esp], eax
call fcn.0041f030
nop
jmp 0x404ab1
mov dword [esp + 8], 0x42edbf
mov dword [esp + 4], 0x42eda1
mov dword [esp], 0
call fcn.00405bd0
jmp 0x4049f2
stosw word es:[edi], ax
sub edx, 2
jmp 0x4048ed
stosb byte es:[edi], al
mov dl, 0x33
jmp 0x4048e1
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x30]
jmp 0x404581
mov dword [esp + 4], 0x42ef70
mov dword [esp], 1
call fcn.00405bd0
lea eax, [esp + 0x78]
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], eax
jmp 0x40437d
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x42ef44
mov dword [esp], eax
call fcn.0041eba0
test eax, eax
je 0x404b7d
mov edx, dword [eax]
lea ecx, [edx - 3]
cmp ecx, 1
jbe 0x404b8a
mov dword [esp + 4], 0x42ef52
jmp 0x403f7a
cmp edx, 3
mov dword [esp], eax
je 0x404cf6
call fcn.0041f1f0
fnstcw word [esp + 0x4e]
movzx eax, word [esp + 0x4e]
mov ah, 0xc
mov word [esp + 0x4c], ax
fldcw word [esp + 0x4c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x4e]
mov dword [esp], 0x100
call fcn.0042ae20
mov edx, 0x20
lea edi, [eax + 5]
mov ebp, eax
mov byte [eax], 1
mov byte [eax + 1], 0
mov byte [eax + 2], 0
mov byte [eax + 3], 0
mov byte [eax + 4], 1
xor eax, eax
test edi, 1
je 0x404bed
stosb byte es:[edi], al
mov dl, 0x1f
test edi, 2
je 0x404bfa
stosw word es:[edi], ax
sub edx, 2
mov ecx, edx
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0x404c08
stosw word es:[edi], ax
and dl, 1
je 0x404c0e
stosb byte es:[edi], al
mov eax, dword [esp + 0x2c]
mov edi, 0x2b
mov byte [ebp + 0x25], 0xff
mov byte [ebp + 0x26], 0xff
mov byte [ebp + 0x27], 0xff
mov byte [ebp + 0x28], 0xff
mov eax, dword [eax + 0xa0]
jmp 0x404c39
add edi, 1
mov byte [ebp + edi - 1], al
sar eax, 8
test eax, eax
jne 0x404c2f
mov ecx, dword [esp + 0x18]
lea eax, [edi - 0x2b]
movzx edx, byte [esp + 0x18]
mov byte [ebp + 0x2a], al
lea eax, [edi - 0x2a]
mov ebx, dword [0x432360]
mov byte [ebp + 0x29], al
lea eax, [ebp + edi]
mov byte [eax], 0xff
mov byte [eax + 1], 0xff
mov byte [eax + 2], 0xff
mov byte [eax + 3], 0xff
lea eax, [ebp + edi + 5]
mov byte [ebp + edi + 4], 1
mov byte [eax], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 2], dl
mov edx, ecx
shr edx, 0x18
mov byte [eax + 3], dl
mov edx, dword [esp + 0x1c]
lea eax, [ebp + edi + 9]
mov ecx, edx
shr ecx, 8
mov byte [eax], dl
mov byte [eax + 1], cl
mov ecx, edx
shr edx, 0x18
mov byte [eax + 3], dl
shr ecx, 0x10
lea edx, [edi + 0xe]
mov byte [eax + 2], cl
lea eax, [ebp + edx]
mov byte [ebp + edi + 0xd], bl
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x432345
mov dword [esp], eax
mov dword [esp + 0x18], edx
call fcn.0042ae30
mov edx, dword [esp + 0x18]
add edx, ebx
lea eax, [ebp + edx]
mov byte [eax], 0
mov byte [eax + 1], 0
mov byte [eax + 2], 0
mov byte [eax + 3], 0
lea eax, [edx + 4]
mov dword [esp + 0x30], eax
jmp 0x40432e
call fcn.0041f120
mov dword [esp + 0x18], eax
sar eax, 0x1f
mov dword [esp + 0x1c], eax
jmp 0x404bb7
mov eax, dword [esp + 0x18]
mov dword [esp + 4], ebx
lea edi, [eax + 2]
mov eax, dword [esp + 0x30]
sub eax, 0x2a
sub eax, edx
mov dword [esp + 8], eax
lea eax, [ebx + edi]
add ebx, 1
mov dword [esp], eax
call fcn.0042aeb8
mov eax, edi
add byte [ebp + 0x29], al
mov byte [ebx - 1], 0x4c
movzx eax, byte [esp + 0x18]
add ebx, 1
mov byte [ebx - 1], al
jmp 0x4043f7
lea edi, [eax + 1]
mov eax, dword [esp + 0x30]
mov dword [esp + 4], ebx
sub eax, 0x2a
sub eax, edx
mov dword [esp + 8], eax
lea eax, [ebx + edi]
mov dword [esp], eax
call fcn.0042aeb8
mov eax, edi
add byte [ebp + 0x29], al
jmp 0x404d3a
mov dword [esp + 8], 0x42eeb2
mov dword [esp + 4], 0x42ed89
mov dword [esp], 0
call fcn.00405bd0
jmp 0x404233
mov dword [esp + 8], 0x42ee8b
mov dword [esp + 4], 0x42ed89
mov dword [esp], 0
call fcn.00405bd0
jmp 0x404160