Function at 0x4e9ac7
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
mov esi, edx
push ebx
sub esp, 0xbc
mov edx, dword [edx + 0x2c]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x78]
test eax, eax
jle 0x4e9aef
mov eax, dword [esi + 0x7c]
cmp dword [eax + 4], 0xffffffff
je 0x4ea34e
mov edx, dword [esi + 0x40]
cmp edx, 0x4d
jle 0x4ea055
mov eax, dword [esi + 0x44]
movzx ecx, byte [eax + 0x4b]
mov dword [esp + 0x7c], ecx
movzx edi, byte [eax + 0x4a]
shl edi, 8
or ecx, edi
cmp dword [esi + 0x2c], 0x20776172
mov dword [esp + 0x7c], ecx
je 0x4e9d8c
lea ebx, [edx + 8]
mov dword [esp], ebx
call fcn.00a5b598
mov edx, dword [esi + 0x40]
mov ebx, eax
mov dword [esi + 0x84], eax
lea eax, [edx + 8]
mov dword [ebx], eax
mov edi, dword [esi + 0x2c]
mov dword [ebx + 4], edi
mov edi, dword [esi + 0x44]
movzx ecx, word [edi + 8]
ror cx, 8
mov word [ebx + 0x10], cx
mov ecx, dword [edi + 0xc]
bswap ecx
mov dword [ebx + 0x14], ecx
movzx eax, word [edi + 0xa]
ror ax, 8
mov word [ebx + 0x12], ax
mov eax, dword [edi + 0x10]
bswap eax
mov dword [ebx + 0x18], eax
mov ecx, dword [edi + 0x14]
bswap ecx
mov dword [ebx + 0x1c], ecx
movzx eax, word [edi + 0x18]
ror ax, 8
mov word [ebx + 0x20], ax
mov eax, dword [edi + 0x1c]
bswap eax
mov dword [ebx + 0x24], eax
movzx ecx, word [edi + 0x1a]
ror cx, 8
mov word [ebx + 0x22], cx
mov ecx, dword [edi + 0x20]
bswap ecx
mov dword [ebx + 0x28], ecx
mov eax, dword [edi + 0x24]
movzx ecx, word [edi + 0x28]
bswap eax
ror cx, 8
mov dword [ebx + 0x2c], eax
mov word [ebx + 0x30], cx
mov eax, dword [edi + 0x2a]
mov dword [ebx + 0x32], eax
mov ecx, dword [edi + 0x2e]
mov dword [ebx + 0x36], ecx
mov eax, dword [edi + 0x32]
mov dword [ebx + 0x3a], eax
mov ecx, dword [edi + 0x36]
mov dword [ebx + 0x3e], ecx
mov eax, dword [edi + 0x3a]
mov dword [ebx + 0x42], eax
mov ecx, dword [edi + 0x3e]
mov dword [ebx + 0x46], ecx
mov eax, dword [edi + 0x42]
mov dword [ebx + 0x4a], eax
mov ecx, dword [edi + 0x46]
mov dword [ebx + 0x4e], ecx
movzx eax, word [edi + 0x4a]
ror ax, 8
mov word [ebx + 0x52], ax
movzx ecx, word [edi + 0x4c]
ror cx, 8
cmp edx, 0x4e
mov word [ebx + 0x54], cx
jg 0x4ea1cc
cmp edx, 0x55
mov dword [ebp + 0x150], ebx
jle 0x4e9cdd
mov dword [esp + 0x60], 0x4e
jle 0x4e9cdd
mov ebx, dword [edi + 0x4e]
bswap ebx
lea eax, [ebx + 0x4e]
cmp eax, edx
jg 0x4e9cdd
mov ecx, dword [esp + 0x60]
mov eax, dword [edi + ecx + 4]
bswap eax
cmp eax, 0x65736473
je 0x4ea29e
ja 0x4ea01d
cmp eax, 0x61766343
je 0x4ea389
jbe 0x4ea240
cmp eax, 0x64323633
je 0x4ea81d
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x60]
movzx eax, byte [edi + edx + 7]
mov dword [esp + 0x18], eax
movzx ecx, byte [edi + edx + 6]
mov dword [esp + 0x14], ecx
movzx eax, byte [edi + edx + 5]
mov dword [esp + 0x10], eax
movzx ecx, byte [edi + edx + 4]
mov dword [esp + 8], 0xc32208
mov dword [esp + 4], 6
mov dword [esp + 0xc], ecx
mov dword [esp], 7
call fcn.0040f28e
mov edi, dword [esi + 0x44]
cmp ebx, 7
jle 0x4e9cdd
add dword [esp + 0x60], ebx
mov edx, dword [esi + 0x40]
mov ebx, dword [esp + 0x60]
add ebx, 8
cmp ebx, edx
jg 0x4e9cdd
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + edi]
bswap eax
mov ebx, eax
lea eax, [eax + ecx]
cmp eax, edx
jle 0x4e9c2e
cvtsi2ss xmm0, dword [esi + 0x14]
fld1
movss dword [esp + 0x3c], xmm0
mov edx, dword [esi + 0x68]
fld dword [esp + 0x3c]
test edx, edx
jle 0x4ea297
fstp st(1)
mov eax, dword [esi + 0x6c]
xor ecx, ecx
fld1
mov ebx, dword [eax + 4]
push ecx
push ebx
fild qword [esp]
add esp, 8
fdivp st(2)
fld st(0)
fxch st(2)
fst dword [ebp + 0xec]
fdivp st(2)
fxch st(1)
fstp dword [ebp + 0xf0]
movzx edx, byte [edi + 0x18]
movzx ecx, byte [edi + 0x19]
shl edx, 8
or ecx, edx
mov dword [ebp + 0x100], ecx
movzx ebx, byte [edi + 0x1a]
movzx edx, byte [edi + 0x1b]
shl ebx, 8
or edx, ebx
mov dword [ebp + 0x104], edx
cmp dword [esi + 0x38], 0x51
jle 0x4e9d9f
test ecx, ecx
jne 0x4ea1f0
test edx, edx
jne 0x4ea1f0
fstp st(0)
mov ecx, dword [esi + 0x3c]
movzx edx, byte [ecx + 0x4c]
movzx ebx, byte [ecx + 0x4d]
shl edx, 8
or ebx, edx
mov dword [ebp + 0x100], ebx
movzx eax, byte [ecx + 0x50]
movzx edi, byte [ecx + 0x51]
shl eax, 8
or edi, eax
mov dword [ebp + 0x104], edi
jmp 0x4e9da1
mov edx, ecx
or edx, 0x52474200
mov dword [ebp + 0xc], edx
mov edx, dword [esi + 0x40]
jmp 0x4e9b20
fstp st(0)
cmp dword [esp + 0x7c], 0x28
jg 0x4ea15d
cmp dword [esp + 0x7c], 0x20
mov dword [esp + 0x68], 0
jle 0x4e9dc8
and dword [esp + 0x7c], 0x1f
mov dword [esp + 0x68], 1
cmp dword [esp + 0x7c], 2
sete dl
cmp dword [esp + 0x7c], 4
sete al
or eax, edx
test al, 1
jne 0x4e9e84
cmp dword [esp + 0x7c], 8
mov dword [esp + 0x6c], 0
je 0x4e9e84
cmp dword [esi + 0x2c], 0x31637661
jne 0x4ea082
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffd7
ja 0x4ea269
add eax, 0x28
mov dword [esp], eax
call fcn.00a5b598
mov edi, dword [esi + 0x4c]
mov dword [ebp + 0x14c], eax
add edi, 0x28
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00a5b648
mov edx, dword [esi + 0x4c]
mov ebx, dword [ebp + 0x14c]
mov ecx, dword [esi + 0x48]
add edx, 0x28
mov dword [ebx], edx
add ebx, 0x28
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00a5b5c0
mov edi, dword [esi + 0x48]
mov dword [esp], edi
call fcn.00a5b590
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
mov ebx, dword [ebp + 0x14c]
jmp 0x4ea0aa
mov dword [esp + 0x6c], 1
movzx ecx, byte [esp + 0x7c]
shl dword [esp + 0x6c], cl
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x4e9df5
mov edx, dword [esp + 0x6c]
lea edi, [edx*4 + 0x28]
mov dword [esp], edi
call fcn.00a5b598
mov dword [ebp + 0x14c], eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00a5b648
mov ecx, dword [ebp + 0x14c]
mov edx, dword [esi + 0x44]
mov dword [ecx], edi
mov dword [esp + 0x54], ecx
movzx edi, word [edx + 0x52]
mov ecx, dword [edx + 0x4e]
ror di, 8
movzx eax, di
mov dword [esp + 0x4c], ecx
bswap ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x6c]
movzx ecx, word [edx + 0x54]
ror cx, 8
movzx edi, cx
movzx ebx, word [edx + 0x4c]
mov dword [esp + 0x70], edi
ror bx, 8
mov edi, dword [esp + 0x54]
movzx ebx, bx
mov dword [esp + 0xc], eax
mov dword [esp + 0x64], 0x56
mov dword [esp + 8], 0xc32238
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ebx
add edi, 0x28
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xc3225c
mov dword [esp + 4], 7
mov dword [esp], 7
call fcn.0040f28e
and bl, 8
je 0x4ea6b3
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4ea656
mov dword [esp + 8], 0xc32298
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
cmp dword [esp + 0x6c], 0x10
je 0x4ea8f8
cmp dword [esp + 0x6c], 0x100
jne 0x4e9e79
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xc31380
mov dword [esp], edi
call fcn.00a5b5c0
cmp dword [esi + 0x2c], 0x64697663
jne 0x4e9e79
mov dword [esp + 8], 0xc322bc
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
xor eax, eax
not byte [eax + edi]
add eax, 1
cmp eax, 0x3ff
jle 0x4ea00b
jmp 0x4e9e79
cmp eax, 0x67616d61
je 0x4ea631
jbe 0x4ea24d
cmp eax, 0x6d6a6874
je 0x4ea80c
cmp eax, 0x6d6a7174
jne 0x4e9c65
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc32308
jmp 0x4ea63d
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xc32344
mov dword [esp + 4], 2
mov dword [esp], 5
call fcn.0040f28e
add esp, 0xbc
pop ebx
xor eax, eax
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x28
call fcn.00a5b598
cld
mov ebx, eax
mov dword [ebp + 0x14c], eax
mov edi, eax
mov ecx, 0xa
mov eax, dword [esp + 0x6c]
rep stosd dword es:[edi], eax
mov dword [ebx], 0x28
mov edi, dword [ebp + 0x100]
mov ecx, dword [esp + 0x7c]
mov word [ebx + 0xc], 0
mov dword [ebx + 4], edi
mov word [ebx + 0xe], cx
movsx ecx, word [esp + 0x7c]
mov edx, dword [ebp + 0x104]
mov dword [ebx + 8], edx
imul edi, edx
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x10], eax
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0x104]
mov dword [esp + 0x10], edx
mov ebx, dword [ebp + 0x100]
mov dword [esp + 8], 0xc3237e
mov dword [esp + 4], 6
mov dword [esp + 0xc], ebx
mov dword [esp], 7
call fcn.0040f28e
cmp dword [esi + 0x38], 0x51
jg 0x4ea186
mov ebx, dword [esi + 0x44]
lea ecx, [esi + 0x2c]
lea edi, [ebx + 0x2b]
mov dword [esp + 0x14], edi
movzx ebp, byte [ebx + 0x2a]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0xc3239c
and ebp, 0x1f
mov dword [esp + 4], 6
mov dword [esp], 7
mov dword [esp + 0x10], ebp
call fcn.0040f28e
add esp, 0xbc
pop ebx
mov eax, 1
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], 0xc323b9
mov dword [esp + 4], 4
mov dword [esp + 0xc], ebx
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4e9dac
mov edi, dword [esi + 0x3c]
movzx eax, byte [edi + 0x50]
movzx edx, byte [edi + 0x51]
shl eax, 8
or edx, eax
mov dword [esp + 0x10], edx
movzx ebx, byte [edi + 0x4c]
movzx ebp, byte [edi + 0x4d]
mov dword [esp + 8], 0xc323cb
shl ebx, 8
mov dword [esp + 4], 6
mov dword [esp], 7
or ebp, ebx
mov dword [esp + 0xc], ebp
call fcn.0040f28e
jmp 0x4ea115
lea eax, [edx - 0x4e]
lea ecx, [ebx + 0x56]
lea edx, [edi + 0x4e]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.00a5b5c0
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
jmp 0x4e9c01
mov ebx, dword [esi + 0x3c]
movzx edi, byte [ebx + 0x4c]
movzx edx, byte [ebx + 0x4d]
shl edi, 8
or edx, edi
cmp ecx, edx
je 0x4e9d9f
cvtsi2ss xmm1, edx
movss dword [esp + 0x3c], xmm1
fld dword [esp + 0x3c]
fst dword [ebp + 0xf4]
fxch st(1)
movzx eax, byte [ebx + 0x50]
movzx ecx, byte [ebx + 0x51]
shl eax, 8
or ecx, eax
push ecx
fidiv dword [esp]
add esp, 4
fmulp st(1)
fstp dword [ebp + 0xf4]
jmp 0x4e9da1
test eax, eax
je 0x4e9cb0
jmp 0x4e9c65
cmp eax, 0x6669656c
jne 0x4e9c65
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc323e4
jmp 0x4ea63d
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xc3241c
mov dword [esp + 4], 1
mov dword [esp], 5
call fcn.0040f28e
xor eax, eax
mov dword [esi + 0x4c], 0
jmp 0x4e9e0e
fxch st(1)
jmp 0x4e9d0f
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc32444
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
cmp ebx, 8
jle 0x4e9cad
lea eax, [esp + 0x80]
lea edx, [ebx - 8]
mov edi, dword [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
add edi, dword [esi + 0x44]
add edi, 8
mov dword [esp], edi
call fcn.00515e3b
test eax, eax
jne 0x4ea33a
movzx edx, byte [esp + 0x8b]
lea ecx, [edx - 0x60]
cmp cl, 5
ja 0x4eaa20
mov dword [ebp + 0xc], 0x3267706d
movzx eax, word [esp + 0x9c]
mov dword [esi + 0x4c], eax
mov dword [esp], eax
call fcn.00a5b598
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x48], eax
mov dword [esp + 8], edx
mov dword [esp], eax
mov edi, dword [esp + 0xa0]
mov dword [esp + 4], edi
call fcn.00a5b5c0
lea ecx, [esp + 0x80]
mov dword [esp], ecx
call fcn.005169ad
jmp 0x4e9cad
xor ebx, ebx
mov ecx, dword [eax]
push ebx
push ecx
fild qword [esp]
add esp, 8
fidiv dword [esp + 0xd0]
fst dword [ebp + 0x18]
fstp qword [esp + 0xc]
mov dword [esp + 8], 0xc32484
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4e9aef
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc324a8
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
cmp ebx, 8
jle 0x4e9cad
mov eax, dword [esi + 0x44]
mov edx, dword [esp + 0x60]
movzx edi, byte [eax + edx + 8]
mov dword [esp + 8], 0xc324da
mov dword [esp + 4], 6
mov dword [esp + 0xc], edi
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x60]
cmp byte [eax + ecx + 8], 1
je 0x4ea414
movzx edi, byte [eax + ecx + 9]
mov dword [esp + 8], 0xc324f4
mov dword [esp + 4], 1
mov dword [esp + 0xc], edi
mov dword [esp], 7
call fcn.0040f28e
mov eax, dword [esi + 0x44]
mov edx, dword [esp + 0x60]
movzx eax, byte [eax + edx + 9]
mov dword [esp + 8], 0xc32527
mov dword [esp + 4], 6
mov dword [esp + 0xc], eax
mov dword [esp], 7
call fcn.0040f28e
mov edi, dword [esi + 0x44]
mov ecx, dword [esp + 0x60]
movzx eax, byte [edi + ecx + 0xa]
mov dword [esp + 8], 0xc32540
mov dword [esp + 4], 6
mov dword [esp + 0xc], eax
mov dword [esp], 7
call fcn.0040f28e
mov edi, dword [esi + 0x44]
mov edx, dword [esp + 0x60]
movzx eax, byte [edi + edx + 0xb]
mov dword [esp + 8], 0xc32565
mov dword [esp + 4], 6
mov dword [esp + 0xc], eax
mov dword [esp], 7
call fcn.0040f28e
mov edi, dword [esi + 0x44]
mov ecx, dword [esp + 0x60]
movzx eax, byte [edi + ecx + 0xc]
mov dword [esp + 8], 0xc3257c
mov dword [esp + 4], 6
and eax, 3
mov dword [esp], 7
add eax, 1
mov dword [esp + 0xc], eax
call fcn.0040f28e
mov edi, dword [esi + 0x44]
mov edx, dword [esp + 0x60]
movzx eax, byte [edi + edx + 0xd]
mov dword [esp + 8], 0xc3259c
mov dword [esp + 4], 6
and eax, 0x1f
mov dword [esp], 7
mov dword [esp + 0x58], eax
mov dword [esp + 0xc], eax
call fcn.0040f28e
mov edi, dword [esp + 0x60]
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x58]
add edi, 0xe
cmp dword [esp + 0x5c], ecx
jge 0x4eaa35
mov edx, dword [esi + 0x44]
movzx ecx, word [edi + edx]
mov edx, dword [esp + 0x5c]
ror cx, 8
movzx eax, cx
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xc325cc
mov dword [esp + 0x10], eax
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov edx, dword [esi + 0x44]
add dword [esp + 0x5c], 1
movzx ecx, word [edi + edx]
ror cx, 8
movzx eax, cx
mov ecx, dword [esp + 0x58]
lea edi, [eax + edi + 2]
cmp dword [esp + 0x5c], ecx
jl 0x4ea51a
movzx eax, byte [edi + edx]
mov dword [esp + 8], 0xc325f0
mov dword [esp + 4], 6
mov dword [esp + 0xc], eax
mov dword [esp], 7
call fcn.0040f28e
mov dword [esp + 0x50], 0
mov edx, dword [esp + 0x58]
add edi, 1
cmp dword [esp + 0x50], edx
jge 0x4ea5fe
mov edx, dword [esi + 0x44]
movzx ecx, word [edi + edx]
mov edx, dword [esp + 0x50]
ror cx, 8
movzx eax, cx
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xc3261c
mov dword [esp + 0x10], eax
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov edx, dword [esi + 0x44]
add dword [esp + 0x50], 1
movzx ecx, word [edi + edx]
ror cx, 8
movzx eax, cx
mov ecx, dword [esp + 0x58]
lea edi, [eax + edi + 2]
cmp dword [esp + 0x50], ecx
jl 0x4ea5aa
lea eax, [ebx - 8]
mov dword [esi + 0x4c], eax
mov dword [esp], eax
call fcn.00a5b598
mov edi, dword [esp + 0x60]
mov edx, dword [esi + 0x4c]
add edi, dword [esi + 0x44]
mov dword [esi + 0x48], eax
mov dword [esp + 8], edx
add edi, 8
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00a5b5c0
jmp 0x4e9cad
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc32640
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4e9cad
mov dword [esp + 8], 0xc3267c
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
cmp dword [esp + 0x6c], 4
je 0x4ea8cc
cmp dword [esp + 0x6c], 0x10
je 0x4ea98c
cmp dword [esp + 0x6c], 0x100
jne 0x4e9e79
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xc30f20
mov dword [esp], edi
call fcn.00a5b5c0
jmp 0x4e9e79
mov dword [esp + 8], 0xc3269d
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x70]
cmp ecx, edx
mov dword [esp + 0x78], ecx
jg 0x4e9e79
test word [esp + 0x74], 0x8000
jne 0x4ea7be
jmp 0x4ea732
mov eax, dword [esp + 0x64]
movzx ecx, byte [ecx + eax + 2]
mov byte [edi + edx*4 + 2], cl
mov eax, dword [esi + 0x44]
movzx ecx, byte [eax + ebx + 2]
mov byte [edi + edx*4 + 1], cl
mov eax, dword [esi + 0x44]
movzx ecx, byte [eax + ebx + 4]
mov byte [edi + edx*4], cl
add dword [esp + 0x78], 1
mov edx, dword [esp + 0x70]
add ebx, 6
cmp dword [esp + 0x78], edx
mov dword [esp + 0x64], ebx
jg 0x4e9e79
mov ecx, dword [esi + 0x44]
mov eax, dword [esp + 0x64]
movzx ebx, word [eax + ecx]
ror bx, 8
movzx edx, bx
mov ebx, dword [esp + 0x64]
add ebx, 2
cmp edx, dword [esp + 0x6c]
jle 0x4ea6f3
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xc326b8
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4ea717
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x48]
movzx edx, byte [edx + eax + 2]
mov byte [edi + ecx*4 + 2], dl
mov eax, dword [esi + 0x44]
movzx edx, byte [eax + ebx + 2]
mov byte [edi + ecx*4 + 1], dl
mov eax, dword [esi + 0x44]
movzx edx, byte [eax + ebx + 4]
mov byte [edi + ecx*4], dl
add dword [esp + 0x78], 1
mov edx, dword [esp + 0x70]
add ebx, 6
cmp dword [esp + 0x78], edx
mov dword [esp + 0x64], ebx
jg 0x4e9e79
mov ecx, dword [esi + 0x44]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x78]
add ebx, 2
mov eax, ecx
cmp ecx, dword [esp + 0x6c]
not eax
setle dl
shr eax, 0x1f
test eax, edx
jne 0x4ea77b
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0xc326b8
mov dword [esp + 0x10], eax
mov dword [esp + 4], 6
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4ea7a3
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc326ec
jmp 0x4ea63d
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x60]
movzx eax, byte [edi + edx + 7]
mov dword [esp + 0x18], eax
movzx ecx, byte [edi + edx + 6]
mov dword [esp + 0x14], ecx
movzx eax, byte [edi + edx + 5]
mov dword [esp + 0x10], eax
movzx ecx, byte [edi + edx + 4]
mov dword [esp + 8], 0xc32724
mov dword [esp + 4], 6
mov dword [esp + 0xc], ecx
mov dword [esp], 7
call fcn.0040f28e
cmp ebx, 0xa
jle 0x4e9cad
mov edx, dword [esi + 0x44]
mov ecx, dword [esp + 0x60]
movzx eax, byte [edx + ecx + 0xd]
mov dword [esp + 0x20], eax
movzx edi, byte [edx + ecx + 0xc]
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + ecx + 0xb]
mov dword [esp + 0x18], eax
movzx edi, byte [edx + ecx + 0xa]
mov dword [esp + 0x14], edi
movzx eax, byte [edx + ecx + 9]
mov dword [esp + 0x10], eax
movzx edi, byte [edx + ecx + 8]
mov dword [esp + 8], 0xc32754
mov dword [esp + 4], 6
mov dword [esp + 0xc], edi
mov dword [esp], 7
call fcn.0040f28e
jmp 0x4e9cad
mov ebx, dword [esp + 0x54]
mov eax, dword [0xc31360]
mov edx, dword [0xc31364]
mov dword [ebx + 0x28], eax
mov ecx, dword [0xc31368]
mov ebx, dword [0xc3136c]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ebx
jmp 0x4e9e79
mov edx, dword [esp + 0x54]
mov eax, dword [0xc31780]
mov ecx, dword [0xc31784]
mov dword [edx + 0x28], eax
mov ebx, dword [0xc31788]
mov eax, dword [0xc3178c]
mov edx, dword [0xc31790]
mov dword [edi + 4], ecx
mov dword [edi + 8], ebx
mov ecx, dword [0xc31794]
mov ebx, dword [0xc31798]
mov dword [edi + 0xc], eax
mov eax, dword [0xc3179c]
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov edx, dword [0xc317a0]
mov ecx, dword [0xc317a4]
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], eax
mov ebx, dword [0xc317a8]
mov eax, dword [0xc317ac]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], ecx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], eax
mov edx, dword [0xc317b0]
mov ecx, dword [0xc317b4]
mov ebx, dword [0xc317b8]
mov eax, dword [0xc317bc]
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], ecx
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], eax
jmp 0x4e9e79
mov ebx, dword [esp + 0x54]
mov eax, dword [0xc31320]
mov edx, dword [0xc31324]
mov dword [ebx + 0x28], eax
mov ecx, dword [0xc31328]
mov eax, dword [0xc3132c]
mov ebx, dword [0xc31330]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov edx, dword [0xc31334]
mov ecx, dword [0xc31338]
mov dword [edi + 0xc], eax
mov eax, dword [0xc3133c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], edx
mov ebx, dword [0xc31340]
mov edx, dword [0xc31344]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
mov ecx, dword [0xc31348]
mov eax, dword [0xc3134c]
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], edx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], eax
mov ebx, dword [0xc31350]
mov edx, dword [0xc31354]
mov ecx, dword [0xc31358]
mov eax, dword [0xc3135c]
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], edx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], eax
jmp 0x4e9e79
cmp dl, 0x6a
jne 0x4ea30a
mov dword [ebp + 0xc], 0x3167706d
jmp 0x4ea30a
mov edx, dword [esi + 0x44]
jmp 0x4ea56e