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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x94], edx
cmp eax, 0x6e6d6864
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc8]
je 0x4ec9b4
ja 0x4ec7d6
cmp eax, 0x676d6864
je 0x4eccf9
jbe 0x4ec865
cmp eax, 0x6d646864
je 0x4ece18
ja 0x4eccc3
cmp eax, 0x68646c72
je 0x4edb30
cmp eax, 0x6d646174
je 0x4ee396
lea edi, [esp + 0xc0]
bswap eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xc31973
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
xor eax, eax
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x73747373
je 0x4ecd3b
ja 0x4ec891
cmp eax, 0x7374636f
je 0x4ed06e
ja 0x4eca64
cmp eax, 0x736d6864
je 0x4ed36d
cmp eax, 0x7374626c
jne 0x4ec795
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32b34
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
lea eax, [esi + ebx]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
add edx, 1
mov eax, dword [esp + 0x98]
mov dword [esp + 4], ecx
call fcn.004eaa3d
jmp 0x4ec7c9
cmp eax, 0x65647473
je 0x4ed2aa
ja 0x4ec9f6
cmp eax, 0x636f3634
je 0x4ed3af
cmp eax, 0x636f6465
jne 0x4ec795
jmp 0x4ec7c9
cmp eax, 0x746b6864
je 0x4ed13e
ja 0x4eca0b
cmp eax, 0x7374737a
je 0x4ed920
cmp eax, 0x73747473
jne 0x4ec795
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov edi, dword [esp + 0x98]
mov eax, dword [edi + 0x10]
xor edi, edi
call fcn.004e6acc
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov esi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc32b4c
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp], esi
mov dword [esp + 4], 8
call fcn.00a5b568
mov ebp, edi
mov edx, dword [esp + 0xcc]
test eax, eax
mov ebx, eax
mov dword [edx + 0x6c], eax
cmovne ebp, esi
xor esi, esi
cmp ebp, 0
mov dword [edx + 0x68], ebp
jmp 0x4ec983
mov ebp, dword [esp + 0x98]
mov eax, dword [ebp + 0x10]
call fcn.004e6acc
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xcc]
mov dword [ebx + esi*8], eax
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x6c]
call fcn.004e6acc
mov ebp, dword [esp + 0xcc]
mov dword [ebx + esi*8 + 4], eax
mov ebx, dword [ebp + 0x6c]
mov eax, dword [ebx + esi*8 + 4]
imul eax, dword [ebx + esi*8]
add esi, 1
add edi, eax
cmp dword [ebp + 0x68], esi
jg 0x4ec93a
mov esi, dword [esp + 0xcc]
mov eax, dword [esi + 0x18]
cmp eax, edi
je 0x4ec7c9
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xc32b78
mov dword [esp + 4], 2
jmp 0x4ec7bd
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32b94
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov edi, dword [esp + 0xcc]
mov dword [edi + 4], 4
jmp 0x4ec7c9
cmp eax, 0x656c7374
je 0x4ed7c6
cmp eax, 0x66726565
jmp 0x4ec886
cmp eax, 0x75647461
je 0x4ec7c9
cmp eax, 0x766d6864
jne 0x4ec795
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32bad
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov ebp, dword [esp + 0xcc]
mov dword [ebp + 4], 1
jmp 0x4ec7c9
cmp eax, 0x73747363
je 0x4eda22
cmp eax, 0x73747364
jne 0x4ec795
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32bc4
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0x88], ebx
jge 0x4ec7c9
mov ebx, dword [esp + 0x98]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 0x24]
mov ebp, dword [eax + 0x2c]
mov edi, dword [eax + 0x28]
add edx, ebp
sub edx, edi
mov dword [esp + 0x80], edx
call fcn.004e6acc
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x24]
cmp eax, ecx
jae 0x4ede57
movzx esi, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
cmp eax, ecx
jae 0x4edeaa
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov edi, edx
shl edi, 8
or edi, esi
cmp eax, ecx
jae 0x4ede8f
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov esi, edx
shl esi, 0x10
or esi, edi
cmp eax, ecx
jae 0x4ede72
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
shl edx, 0x18
mov eax, 0x30323449
or edx, esi
cmp edx, 0x32317679
cmovne eax, edx
cmp dword [esp + 0x7c], 7
mov dword [esp + 0x9c], eax
jle 0x4ec7c9
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x94]
mov edi, dword [esp + 0x88]
cdq
mov ebx, eax
lea ebp, [esp + 0x9c]
add ebx, 0xfffffff0
mov eax, edx
mov dword [esp + 0xc], ecx
adc eax, 0xffffffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32be8
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0xcc]
cmp dword [esi + 0x2c], ecx
setne dl
xor ebx, ebx
cmp dword [esp + 0x88], 0
setne bl
test ebx, edx
jne 0x4edec5
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0xcc]
sub ebp, 8
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x40], ebp
mov dword [esp], ebp
call fcn.00a5b598
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0xcc]
mov dword [esi + 0x44], eax
mov esi, dword [edi + 0x10]
mov edi, dword [ecx + 0x40]
test edi, edi
mov ebp, eax
jle 0x4ed2f2
mov eax, dword [esi + 0x24]
jmp 0x4ecc9e
cmp eax, edx
ja 0x4eced8
cmp ebx, edi
lea edx, [eax + esi + 0x54]
mov dword [esp], ebp
cmovg ebx, edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
sub edi, ebx
call fcn.00a5b5c0
mov eax, dword [esi + 0x24]
add ebp, ebx
add eax, ebx
test edi, edi
mov dword [esi + 0x24], eax
jle 0x4ed34c
mov edx, dword [esi + 0x28]
mov ebx, edx
sub ebx, eax
jne 0x4ecc69
mov dword [esp], esi
call fcn.005d37bb
test eax, eax
je 0x4ed2e8
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov ebx, edx
sub ebx, eax
jmp 0x4ecc69
cmp eax, 0x6d646961
je 0x4ede37
cmp eax, 0x6d696e66
jne 0x4ec795
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32c10
mov dword [esp + 0xc], ecx
jmp 0x4ec825
mov edx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32b94
mov dword [esp + 0xc], edx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov esi, dword [esp + 0xcc]
mov dword [esi + 4], 4
jmp 0x4ec7c9
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov esi, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov edx, ebx
mov ebp, ebx
mov esi, eax
mov eax, ebx
shl edx, 8
shl eax, 0x10
shl ebp, 0x18
mov edi, dword [esp + 0x94]
or eax, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], esi
or eax, ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 0x1c], eax
mov dword [esp + 8], 0xc32c28
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp], esi
mov dword [esp + 4], 4
call fcn.00a5b568
xor ebp, ebp
test eax, eax
mov ecx, dword [esp + 0xcc]
mov edi, eax
cmovne ebp, esi
mov esi, dword [esp + 0xcc]
xor ebx, ebx
cmp ebp, 0
mov dword [ecx + 0x74], eax
mov dword [esi + 0x70], ebp
jg 0x4ecdef
jmp 0x4ec7c9
mov ebp, dword [esp + 0xcc]
mov edi, dword [ebp + 0x74]
mov edx, dword [esp + 0x98]
mov eax, dword [edx + 0x10]
call fcn.004e6acc
sub eax, 1
mov dword [edi + ebx*4], eax
add ebx, 1
mov edi, dword [esp + 0xcc]
cmp dword [edi + 0x70], ebx
jg 0x4ecde5
jmp 0x4ec7c9
mov eax, dword [esp + 0x98]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebx + 0x28]
jae 0x4ecebb
movzx edi, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32c73
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
xor edx, edx
mov ebp, dword [esp + 0x98]
cmp edi, 1
mov esi, dword [ebp + 0x10]
sete dl
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea ebx, [edx*8 + 0xb]
jmp 0x4ece99
cmp edx, ebx
cmovg edx, ebx
sub ebx, edx
add eax, edx
test ebx, ebx
mov dword [esi + 0x24], eax
jle 0x4ecefc
mov edx, ecx
sub edx, eax
jne 0x4ece89
mov dword [esp], esi
call fcn.005d37bb
test eax, eax
je 0x4ee057
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov edx, ecx
sub edx, eax
jmp 0x4ece89
mov dword [esp], ebx
call fcn.005d37bb
mov edi, 0xffffff00
test eax, eax
je 0x4ece39
mov eax, dword [ebx + 0x24]
jmp 0x4ece2e
mov dword [esp + 8], 0xc328d4
mov dword [esp + 4], 2
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esi + 0x24]
jmp 0x4ecc71
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov edx, dword [esp + 0xcc]
sub edi, 1
mov dword [edx + 0x14], eax
jne 0x4ed2ca
mov eax, dword [esp + 0x98]
mov ebp, dword [eax + 0x10]
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
cmp eax, edi
mov dword [esp + 0x68], edi
jae 0x4edeed
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [ebp + 0x24], eax
mov esi, edx
shl esi, 8
cmp eax, dword [esp + 0x68]
jae 0x4edfbb
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x5c], eax
mov dword [ebp + 0x24], eax
mov ebx, esi
or ebx, edx
mov edx, dword [esp + 0x68]
mov esi, ebx
shl esi, 8
cmp dword [esp + 0x5c], edx
jae 0x4edf8d
mov eax, dword [esp + 0x5c]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x58], eax
mov dword [ebp + 0x24], eax
mov ebx, esi
or ebx, edx
mov edx, dword [esp + 0x68]
mov esi, ebx
shl esi, 8
cmp dword [esp + 0x58], edx
jae 0x4edf5f
mov edi, dword [esp + 0x58]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x54], edi
mov dword [ebp + 0x24], edi
mov eax, esi
or eax, edx
mov edx, dword [esp + 0x68]
mov esi, eax
shl esi, 8
cmp dword [esp + 0x54], edx
jae 0x4edf31
mov ecx, dword [esp + 0x54]
movzx edx, byte [ebp + ecx + 0x54]
add ecx, 1
mov dword [esp + 0x50], ecx
mov dword [ebp + 0x24], ecx
mov edi, esi
or edi, edx
mov edx, dword [esp + 0x68]
mov esi, edi
shl esi, 8
cmp dword [esp + 0x50], edx
jae 0x4ee017
mov ebx, dword [esp + 0x50]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x4c], ebx
mov dword [ebp + 0x24], ebx
mov edi, esi
or edi, edx
mov edx, dword [esp + 0x68]
mov esi, edi
shl esi, 8
cmp dword [esp + 0x4c], edx
jae 0x4edfe9
mov eax, dword [esp + 0x4c]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x48], eax
mov dword [ebp + 0x24], eax
mov ebx, esi
or ebx, edx
mov edx, dword [esp + 0x68]
mov esi, ebx
shl esi, 8
cmp dword [esp + 0x48], edx
jae 0x4edf14
mov eax, dword [esp + 0x48]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [ebp + 0x24], eax
mov eax, esi
mov ebp, dword [esp + 0xcc]
or eax, edx
mov dword [ebp + 0x18], eax
jmp 0x4ec7c9
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32c8c
mov ebx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esp + 0xcc]
mov edx, dword [eax + 0x58]
cmp edx, ebx
jge 0x4ed0fc
cmp ebx, 0xfffffff
mov edx, dword [eax + 0x5c]
jbe 0x4ee041
mov dword [esp], edx
call fcn.00a5b590
xor eax, eax
mov edx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xcc]
mov dword [edx + 0x5c], eax
xor edx, edx
test eax, eax
cmovne edx, ebx
mov dword [ebp + 0x58], edx
xor edi, edi
cmp edx, 0
jle 0x4ec7c9
xor esi, esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x98]
add edi, 1
mov ebp, dword [eax + 0x5c]
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov ebx, dword [esp + 0xcc]
mov dword [esi + ebp + 0xc], eax
add esi, 0x10
cmp dword [ebx + 0x58], edi
jg 0x4ed10a
jmp 0x4ec7c9
mov esi, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32cb5
mov dword [esp + 0xc], esi
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov edx, dword [esp + 0xcc]
mov dword [edx + 0x38], ebx
mov dword [esp], ebx
call fcn.00a5b598
mov ecx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x6c], eax
mov dword [ecx + 0x3c], eax
mov ebp, eax
mov eax, dword [ecx + 0x38]
mov esi, dword [ebx + 0x10]
test eax, eax
mov dword [esp + 0x70], eax
mov edi, eax
jle 0x4ed23e
mov eax, dword [esi + 0x24]
jmp 0x4ed1e0
cmp eax, edx
ja 0x4ed201
cmp ebx, edi
lea eax, [eax + esi + 0x54]
mov dword [esp], ebp
cmovg ebx, edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
sub edi, ebx
call fcn.00a5b5c0
mov eax, dword [esi + 0x24]
add ebp, ebx
add eax, ebx
test edi, edi
mov dword [esi + 0x24], eax
jle 0x4ed32b
mov edx, dword [esi + 0x28]
mov ebx, edx
sub ebx, eax
jne 0x4ed1af
mov dword [esp], esi
call fcn.005d37bb
test eax, eax
je 0x4ed222
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov ebx, edx
sub ebx, eax
jmp 0x4ed1af
mov dword [esp + 8], 0xc328d4
mov dword [esp + 4], 2
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esi + 0x24]
jmp 0x4ed1b3
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0xcc]
mov eax, dword [edi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x6c]
movzx ebx, word [ecx + 0x24]
movzx esi, word [ecx + 0x20]
ror bx, 8
ror si, 8
movzx ebp, bx
movzx edx, si
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0xc]
bswap edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
bswap eax
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x70]
movzx ebx, byte [ecx + 1]
mov dword [esp + 0x14], ebx
movzx ecx, byte [ecx]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0xc32ccc
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4ec7c9
mov edi, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32d06
mov dword [esp + 0xc], edi
jmp 0x4ec825
mov edx, dword [esp + 0x98]
mov eax, dword [edx + 0x10]
call fcn.004e6acc
mov esi, dword [esp + 0xcc]
mov dword [esi + 0x18], eax
jmp 0x4ec7c9
mov eax, dword [esp + 0x98]
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x80]
mov ecx, dword [esi + 0x2c]
add eax, dword [esp + 0x7c]
cmp ecx, eax
jle 0x4ed358
sub ecx, dword [esi + 0x28]
mov edx, eax
sub edx, ecx
js 0x4ed358
mov dword [esi + 0x24], edx
add dword [esp + 0x88], 1
mov ecx, dword [esp + 0x84]
cmp dword [esp + 0x88], ecx
jmp 0x4ecae4
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xcc]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebp + 0x3c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edi
jmp 0x4ed23e
mov ebx, dword [esp + 0x98]
mov esi, dword [ebx + 0x10]
jmp 0x4ed2f2
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.005d3850
test eax, eax
jne 0x4ed310
jmp 0x4ec7c9
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32d1a
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esp + 0xcc]
mov dword [eax + 4], 2
jmp 0x4ec7c9
mov edi, dword [esp + 0x98]
mov eax, dword [edi + 0x10]
call fcn.004e6acc
mov eax, dword [edi + 0x10]
call fcn.004e6acc
mov esi, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov ebx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xc32d34
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esp + 0xcc]
mov edx, dword [eax + 0x58]
cmp edx, ebx
jge 0x4ed43d
cmp ebx, 0xfffffff
mov edx, dword [eax + 0x5c]
jbe 0x4ee1ca
mov dword [esp], edx
call fcn.00a5b590
xor eax, eax
mov edx, dword [esp + 0xcc]
mov dword [edx + 0x5c], eax
xor edx, edx
test eax, eax
cmovne edx, ebx
mov ebx, dword [esp + 0xcc]
mov dword [ebx + 0x58], edx
cmp edx, 0
mov dword [esp + 0x78], 0
jle 0x4ec7c9
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0xcc]
mov ebp, dword [eax + 0x10]
mov esi, dword [edi + 0x5c]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x74], esi
cmp eax, ecx
mov dword [esp + 0x64], ecx
jae 0x4ed5d5
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [ebp + 0x24], eax
mov esi, edx
shl esi, 8
cmp eax, dword [esp + 0x64]
jae 0x4ed6f8
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x44], eax
mov dword [ebp + 0x24], eax
mov eax, esi
or eax, edx
mov edx, dword [esp + 0x64]
mov esi, eax
shl esi, 8
cmp dword [esp + 0x44], edx
jae 0x4ed69c
mov ebx, dword [esp + 0x44]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x40], ebx
mov dword [ebp + 0x24], ebx
mov eax, esi
or eax, edx
mov edx, dword [esp + 0x64]
mov esi, eax
shl esi, 8
cmp dword [esp + 0x40], edx
jae 0x4ed6ca
mov edi, dword [esp + 0x40]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x3c], edi
mov dword [ebp + 0x24], edi
mov ebx, esi
or ebx, edx
mov edx, dword [esp + 0x64]
mov esi, ebx
shl esi, 8
cmp dword [esp + 0x3c], edx
jae 0x4ed66e
mov ecx, dword [esp + 0x3c]
movzx edx, byte [ebp + ecx + 0x54]
add ecx, 1
mov dword [esp + 0x38], ecx
mov dword [ebp + 0x24], ecx
mov edi, esi
or edi, edx
mov edx, dword [esp + 0x64]
mov esi, edi
shl esi, 8
cmp dword [esp + 0x38], edx
jae 0x4ed640
mov eax, dword [esp + 0x38]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x34], eax
mov dword [ebp + 0x24], eax
mov edi, esi
or edi, edx
mov edx, dword [esp + 0x64]
mov esi, edi
shl esi, 8
cmp dword [esp + 0x34], edx
jae 0x4ed612
mov ebx, dword [esp + 0x34]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x30], ebx
mov dword [ebp + 0x24], ebx
mov eax, esi
or eax, edx
mov edx, dword [esp + 0x64]
mov esi, eax
shl esi, 8
cmp dword [esp + 0x30], edx
jae 0x4ed5fc
mov eax, dword [esp + 0x30]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [ebp + 0x24], eax
mov eax, edx
add dword [esp + 0x78], 1
mov edx, esi
mov ecx, dword [esp + 0x60]
or edx, eax
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xcc]
mov dword [ecx + ebx + 0xc], edx
add ecx, 0x10
cmp dword [esi + 0x58], ebp
mov dword [esp + 0x60], ecx
jg 0x4ed457
jmp 0x4ec7c9
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed722
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x64], ebx
jmp 0x4ed489
mov dword [esp], ebp
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4ed59e
mov eax, dword [ebp + 0x24]
jmp 0x4ed593
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed736
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], edi
mov dword [ebp + 0x24], edi
jmp 0x4ed57c
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed766
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x34], edi
mov dword [ebp + 0x24], edi
jmp 0x4ed552
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed796
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x28]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x64], edi
mov dword [esp + 0x38], ebx
mov dword [ebp + 0x24], ebx
jmp 0x4ed528
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed77e
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x40], eax
mov dword [ebp + 0x24], eax
jmp 0x4ed4d4
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed7ae
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x64], ebx
mov dword [esp + 0x3c], eax
mov dword [ebp + 0x24], eax
jmp 0x4ed4fe
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ed74e
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], edi
mov dword [ebp + 0x24], edi
jmp 0x4ed4aa
mov ecx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x64], ecx
jmp 0x4ed48c
mov ebx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x30], ebx
mov dword [esp + 0x64], ecx
jmp 0x4ed57c
mov ecx, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ebx
jmp 0x4ed4aa
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x34], eax
mov dword [esp + 0x64], ebx
jmp 0x4ed552
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], edi
jmp 0x4ed4d4
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], eax
jmp 0x4ed528
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x3c], edi
mov dword [esp + 0x64], ecx
jmp 0x4ed4fe
mov edx, dword [esp + 0x98]
mov eax, dword [edx + 0x10]
call fcn.004e6acc
mov ebp, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [ebp + 0x10]
call fcn.004e6acc
mov esi, ebx
mov ecx, ebx
mov ebp, eax
mov eax, ebx
shl esi, 8
shl eax, 0x10
shl ecx, 0x18
mov edi, dword [esp + 0x94]
or eax, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], edi
or eax, ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 0x1c], eax
mov dword [esp + 8], 0xc32d64
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp + 4], 0x1c
mov dword [esp], ebp
call fcn.00a5b568
xor ebx, ebx
test eax, eax
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0xcc]
cmovne ebx, ebp
xor edi, edi
mov dword [edx + 0x7c], eax
cmp ebx, 0
mov dword [esi + 0x78], ebx
jle 0x4ec7c9
xor ebp, ebp
mov ebx, dword [esp + 0x98]
mov eax, dword [ebx + 0x10]
call fcn.004e6acc
mov esi, eax
mov eax, dword [ebx + 0x10]
call fcn.004e6acc
mov ecx, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov edx, dword [esp + 0xcc]
mov ecx, dword [edx + 0x7c]
cvtsi2ss xmm0, eax
lea edx, [ebp + edi]
mov dword [edx + ecx + 8], eax
mov dword [edx + ecx], esi
mov dword [edx + ecx + 4], ebx
movss dword [esp + 0x2c], xmm0
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], edi
fld dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
fmul dword [0xc32f38]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 0xc], eax
fstp qword [esp + 0x20]
mov dword [esp + 8], 0xc32d9c
mov dword [esp + 4], 6
mov dword [esp], 7
add edi, 1
call fcn.0040f28e
mov ecx, dword [esp + 0xcc]
add ebp, 0x1b
cmp dword [ecx + 0x78], edi
jg 0x4ed86f
jmp 0x4ec7c9
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov ecx, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov ebp, ebx
mov edx, dword [esp + 0x98]
mov esi, eax
mov eax, ebx
mov edi, ebx
shl eax, 8
shl ebp, 0x10
shl edi, 0x18
or ebp, eax
mov eax, dword [edx + 0x10]
call fcn.004e6acc
or ebx, ebp
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x20], ebx
mov ebp, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xc32de0
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov ebx, dword [esp + 0xcc]
test esi, esi
mov dword [ebx + 0x1c], esi
jne 0x4ec7c9
cmp ebp, 0x15555555
mov edx, dword [ebx + 0x54]
jbe 0x4ee14f
mov dword [esp], edx
call fcn.00a5b590
xor eax, eax
mov edx, dword [esp + 0xcc]
xor edi, edi
xor esi, esi
cmp ebp, 0
mov ebx, eax
mov dword [edx + 0x54], eax
mov dword [edx + 0x50], ebp
jg 0x4ed9f8
jmp 0x4ec7c9
mov ebp, dword [esp + 0xcc]
mov ebx, dword [ebp + 0x54]
mov ecx, dword [esp + 0x98]
add edi, 1
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov dword [esi + ebx + 4], eax
mov ebx, dword [esp + 0xcc]
add esi, 0xc
cmp dword [ebx + 0x50], edi
jg 0x4ed9ee
jmp 0x4ec7c9
mov ebp, dword [esp + 0x98]
mov eax, dword [ebp + 0x10]
call fcn.004e6acc
mov edi, eax
mov eax, dword [ebp + 0x10]
call fcn.004e6acc
mov esi, edi
mov edx, edi
shl edx, 8
shl esi, 0x10
mov ecx, edi
or esi, edx
mov ebp, eax
shl ecx, 0x18
or esi, edi
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32e24
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp + 4], 0xc
mov dword [esp], ebp
call fcn.00a5b568
mov edi, dword [esp + 0xcc]
mov ebx, eax
mov dword [edi + 0x64], eax
xor eax, eax
test ebx, ebx
cmovne eax, ebp
xor esi, esi
mov dword [edi + 0x60], eax
xor edi, edi
cmp eax, 0
jg 0x4edaca
jmp 0x4ec7c9
mov eax, dword [esp + 0xcc]
mov ebx, dword [eax + 0x64]
mov ecx, dword [esp + 0x98]
add edi, 1
mov eax, dword [ecx + 0x10]
call fcn.004e6acc
mov ebp, dword [esp + 0x98]
sub eax, 1
mov dword [esi + ebx], eax
mov eax, dword [esp + 0xcc]
mov ebx, dword [eax + 0x64]
mov eax, dword [ebp + 0x10]
call fcn.004e6acc
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xcc]
mov dword [esi + ebx + 4], eax
mov eax, dword [ecx + 0x10]
mov ebp, dword [edx + 0x64]
call fcn.004e6acc
mov ebx, dword [esp + 0xcc]
mov dword [esi + ebp + 8], eax
add esi, 0xc
cmp dword [ebx + 0x60], edi
jg 0x4edac0
jmp 0x4ec7c9
mov ebx, dword [esp + 0x98]
mov eax, dword [ebx + 0x10]
call fcn.004e6acc
mov edi, dword [esp + 0x98]
mov ebx, dword [edi + 0x10]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
cmp eax, edx
jae 0x4ee1fb
movzx esi, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
cmp eax, edx
jae 0x4ee1e0
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov edi, ecx
shl edi, 8
or edi, esi
cmp eax, edx
jae 0x4ee286
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov esi, ecx
shl esi, 0x10
or esi, edi
cmp eax, edx
jae 0x4ee269
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
shl edx, 0x18
mov ebp, dword [esp + 0x98]
or esi, edx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0xa0], esi
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
cmp eax, edx
jae 0x4ee2a1
movzx esi, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
cmp eax, edx
jae 0x4ee231
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov edi, ecx
shl edi, 8
or edi, esi
cmp eax, edx
jae 0x4ee2d7
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov esi, ecx
shl esi, 0x10
or esi, edi
cmp eax, edx
jae 0x4ee24c
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
shl edx, 0x18
mov eax, dword [esp + 0x98]
or esi, edx
mov ebx, dword [eax + 0x10]
mov dword [esp + 0xa4], esi
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
cmp eax, edx
jae 0x4ee2bc
movzx esi, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
cmp eax, edx
jae 0x4ee216
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov edi, ecx
shl edi, 8
or edi, esi
cmp eax, edx
jae 0x4ee1af
movzx ecx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
mov esi, ecx
shl esi, 0x10
or esi, edi
cmp eax, edx
jae 0x4ee192
movzx edx, byte [ebx + eax + 0x54]
add eax, 1
mov dword [ebx + 0x24], eax
shl edx, 0x18
or esi, edx
mov edx, dword [esp + 0x98]
mov eax, dword [edx + 0x10]
mov dword [esp + 0xa8], esi
call fcn.004e6acc
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 0x10]
call fcn.004e6acc
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebx + 0x28]
jae 0x4ee163
movzx edi, byte [ebx + eax + 0x54]
mov dword [esp + 0x90], edi
add eax, 1
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x90]
add eax, 1
mov dword [esp], eax
call fcn.00a5b598
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x98]
test edi, edi
mov dword [esp + 0x8c], eax
mov esi, dword [ebx + 0x10]
mov ebp, eax
jle 0x4edd8b
mov eax, dword [esi + 0x24]
jmp 0x4edd49
cmp eax, edx
ja 0x4edd6a
cmp ebx, edi
lea ecx, [eax + esi + 0x54]
mov dword [esp], ebp
cmovg ebx, edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
sub edi, ebx
call fcn.00a5b5c0
mov eax, dword [esi + 0x24]
add ebp, ebx
add eax, ebx
test edi, edi
mov dword [esi + 0x24], eax
jle 0x4edd8b
mov edx, dword [esi + 0x28]
mov ebx, edx
sub ebx, eax
jne 0x4edd1c
mov dword [esp], esi
call fcn.005d37bb
test eax, eax
je 0x4edd8b
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov ebx, edx
sub ebx, eax
jmp 0x4edd1c
mov dword [esp + 8], 0xc328d4
mov dword [esp + 4], 2
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esi + 0x24]
jmp 0x4edd20
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
lea ebp, [esp + 0xa8]
mov byte [eax + ebx], 0
lea edi, [esp + 0xa4]
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x94]
lea ebx, [esp + 0xa0]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32e6c
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov esi, dword [esp + 0x8c]
mov dword [esp], esi
call fcn.00a5b590
mov eax, dword [esp + 0xa0]
bswap eax
cmp eax, 0x64686c72
je 0x4ee2ee
cmp eax, 0x6d686c72
jne 0x4ee13a
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 0xa4]
bswap esi
mov dword [ecx + 0xc], esi
jmp 0x4ec7c9
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], 0xc327a1
mov dword [esp + 8], 0xc32e99
mov dword [esp + 0xc], eax
jmp 0x4ec825
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee066
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb2a
mov dword [esp], ebx
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4ecb7c
mov eax, dword [ebx + 0x24]
jmp 0x4ecb71
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee086
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb57
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee076
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb3d
mov dword [esp + 8], 0xc32eb0
mov dword [esp + 4], 2
mov dword [esp], 7
call fcn.0040f28e
mov ecx, dword [esp + 0x9c]
jmp 0x4ecc27
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee0de
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x68], ecx
jmp 0x4ecf42
mov dword [esp], ebp
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4ed05b
mov eax, dword [ebp + 0x24]
jmp 0x4ed050
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee122
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x28]
movzx edx, byte [ebp + eax + 0x54]
add eax, 1
mov dword [esp + 0x68], edi
mov dword [esp + 0x50], eax
mov dword [ebp + 0x24], eax
jmp 0x4ecfe1
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee0ae
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], ebx
mov dword [ebp + 0x24], ebx
jmp 0x4ecfb7
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee0c6
mov ebx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
movzx edx, byte [ebp + ebx + 0x54]
add ebx, 1
mov dword [esp + 0x68], ecx
mov dword [esp + 0x58], ebx
mov dword [ebp + 0x24], ebx
jmp 0x4ecf8d
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee0f2
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], edi
mov dword [ebp + 0x24], edi
jmp 0x4ecf63
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee10a
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x68], ebx
mov dword [esp + 0x48], edi
mov dword [ebp + 0x24], edi
jmp 0x4ed035
mov dword [esp], ebp
call fcn.005d37bb
test eax, eax
je 0x4ee096
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
movzx edx, byte [ebp + edi + 0x54]
add edi, 1
mov dword [esp + 0x68], ecx
mov dword [esp + 0x4c], edi
mov dword [ebp + 0x24], edi
jmp 0x4ed00b
mov edi, ebx
mov dword [esp], edx
shl edi, 4
mov dword [esp + 4], edi
call fcn.00a5b5a8
jmp 0x4ed0e1
mov ebx, dword [esp + 0x98]
mov eax, dword [ebx + 0x10]
jmp 0x4ecf06
mov esi, 0xffffff00
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb35
mov edx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb48
mov edx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
jmp 0x4ecb62
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x68], eax
jmp 0x4ed00b
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x54], edi
mov dword [esp + 0x68], ecx
jmp 0x4ecfb7
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], edi
jmp 0x4ecf8d
mov esi, dword [ebp + 0x28]
mov edx, 0xffffff00
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x68], esi
jmp 0x4ecf45
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], eax
jmp 0x4ecf63
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], ecx
jmp 0x4ed035
mov ecx, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
mov edx, 0xffffff00
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ebx
jmp 0x4ecfe1
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xc32edc
jmp 0x4ec7b5
imul edi, ebp, 0xc
mov dword [esp], edx
mov dword [esp + 4], edi
call fcn.00a5b5a8
jmp 0x4ed9d0
mov dword [esp], ebx
call fcn.005d37bb
mov dword [esp + 0x90], 0xffffff00
test eax, eax
je 0x4edce7
mov eax, dword [ebx + 0x24]
movzx ebp, byte [ebx + eax + 0x54]
mov dword [esp + 0x90], ebp
jmp 0x4edce1
mov dword [esp], ebx
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4edc95
mov eax, dword [ebx + 0x24]
jmp 0x4edc8a
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee346
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc70
mov ebp, ebx
mov dword [esp], edx
shl ebp, 4
mov dword [esp + 4], ebp
call fcn.00a5b5a8
jmp 0x4ed422
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee326
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb6a
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee356
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb57
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee306
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc56
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee376
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edbe0
mov dword [esp], ebx
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4edc1f
mov eax, dword [ebx + 0x24]
jmp 0x4edc14
mov dword [esp], ebx
call fcn.005d37bb
mov edx, 0xffffff00
test eax, eax
je 0x4edba9
mov eax, dword [ebx + 0x24]
jmp 0x4edb9e
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee316
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb84
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee366
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edbcd
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee386
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc43
mov dword [esp], ebx
call fcn.005d37bb
test eax, eax
je 0x4ee336
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edbfa
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0xa4]
bswap edi
mov dword [edx + 0x10], edi
jmp 0x4ec7c9
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc61
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb8f
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb75
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc05
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc7b
mov esi, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edb62
mov esi, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edbd8
mov ecx, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edbeb
mov esi, 0xffffff00
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
jmp 0x4edc4e
mov dword [esp + 8], 0xc32f08
mov dword [esp + 4], 2
mov dword [esp], 7
call fcn.0040f28e
mov eax, 0xffffffff
jmp 0x4ec7cb