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

Disassembly:
push esi
push edi
push ebp
push ebx
sub esp, 0x7c
mov ecx, esp
sub esp, 0x1000
lea eax, [0x14f8a6a8]
and esp, 0xfffff000
and eax, 0xfe0
add eax, 0x20
mov ebx, dword [ecx]
add esp, eax
mov dword [esp + 0x78], ecx
mov ebx, dword [ecx + 0x90]
mov eax, dword [ecx + 0x94]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x64], eax
mov ebx, dword [ecx + 0x98]
mov eax, dword [ecx + 0x9c]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
mov ebx, dword [ecx + 0xa0]
mov dword [esp + 0x70], ebx
mov eax, 1
sub edx, 0x20
xor ebx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x54], eax
mov ecx, dword [edx + 0x24]
add edx, 0x20
cmp ecx, 0
js 0x14f802b9
mov byte [esp + 0x48], cl
mov esi, dword [esp + 0x68]
mov dword [esp + 0x4c], edx
add esi, dword [edx]
cmp ecx, 0x10000
jge 0x14f801bb
mov eax, dword [esp + 0x64]
cmp eax, 0
jns 0x14f7fb3d
xor ebx, ebx
xor edx, edx
mov bl, byte [esi]
xor ecx, ecx
lea edi, [0x14f89030]
mov dl, byte [esi + 0x145]
mov cl, byte [esi + 0x13800]
mov ebp, dword [edi + ebx*4]
mov bl, byte [esi + 0x13945]
mov eax, dword [edi + edx*4]
mov dword [esp + 4], ebp
lea ebp, [ebp + ecx*4]
mov eax, dword [eax + ebx*4]
mov bl, byte [esi + 2]
mov ebp, dword [ebp]
mov cl, byte [esi + 0x13802]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp], eax
mov bl, byte [esi + 0x147]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13947]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 4]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13804]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 8], eax
mov bl, byte [esi + 0x141]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13941]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 6]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13806]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0xc], eax
mov bl, byte [esi + 0x143]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13943]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x280]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13a80]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x10], eax
mov bl, byte [esi + 0x3c5]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13bc5]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x282]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13a82]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x18], eax
mov bl, byte [esi + 0x3c7]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13bc7]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x284]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13a84]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x14], eax
mov bl, byte [esi + 0x3c1]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13bc1]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x286]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13a86]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x1c], eax
mov bl, byte [esi + 0x3c3]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13bc3]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x500]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13d00]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x20], eax
mov bl, byte [esi + 0x645]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13e45]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x502]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13d02]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x28], eax
mov bl, byte [esi + 0x647]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13e47]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x504]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13d04]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x24], eax
mov bl, byte [esi + 0x641]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13e41]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x506]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13d06]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x2c], eax
mov bl, byte [esi + 0x643]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13e43]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x780]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13f80]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x30], eax
mov bl, byte [esi + 0x8c5]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x140c5]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x782]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13f82]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x38], eax
mov bl, byte [esi + 0x8c7]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x140c7]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x784]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13f84]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x34], eax
mov bl, byte [esi + 0x8c1]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x140c1]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x786]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x13f86]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x3c], eax
mov bl, byte [esi + 0x8c3]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi + 0x140c3]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x44], edx
mov eax, dword [eax + ecx*4]
add ebp, eax
mov cl, byte [edi + 8]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x40], ebp
shr ebp, 0x11
lea edx, [ecx*4 - 1]
cmp ebp, edx
mov dword [esp + 0x58], ebp
mov dl, byte [ebx*8 + 0x14f89c8b]
mov cl, byte [ebx*8 + 0x14f89c8d]
mov ebx, 0
lea esi, [esi + 0x13800]
mov dword [esp + 0x50], esi
jle 0x14f8008a
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x74], ebp
cmp eax, 0
jne 0x14f8008a
mov edi, dword [ecx + 0x14f89c34]
mov ebp, dword [edx + 0x14f89c34]
mov eax, dword [esp + 4]
xor ebx, ebx
jmp 0x14f7fe88
xor ebx, ebx
xor edx, edx
mov bl, byte [esi]
xor ecx, ecx
lea edi, [0x14f89030]
mov dl, byte [esi + 0x145]
mov cl, byte [esi - 0x13800]
mov ebp, dword [edi + ebx*4]
mov bl, byte [esi - 0x136bb]
mov eax, dword [edi + edx*4]
mov dword [esp + 4], ebp
lea ebp, [ebp + ecx*4]
mov eax, dword [eax + ebx*4]
mov bl, byte [esi + 2]
mov ebp, dword [ebp]
mov cl, byte [esi - 0x137fe]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp], eax
mov bl, byte [esi + 0x147]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x136b9]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 4]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x137fc]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 8], eax
mov bl, byte [esi + 0x141]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x136bf]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 6]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x137fa]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0xc], eax
mov bl, byte [esi + 0x143]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x136bd]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x280]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x13580]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x10], eax
mov bl, byte [esi + 0x3c5]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1343b]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x282]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1357e]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x18], eax
mov bl, byte [esi + 0x3c7]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x13439]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x284]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1357c]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x14], eax
mov bl, byte [esi + 0x3c1]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1343f]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x286]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1357a]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x1c], eax
mov bl, byte [esi + 0x3c3]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1343d]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x500]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x13300]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x20], eax
mov bl, byte [esi + 0x645]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x131bb]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x502]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x132fe]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x28], eax
mov bl, byte [esi + 0x647]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x131b9]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x504]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x132fc]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x24], eax
mov bl, byte [esi + 0x641]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x131bf]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x506]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x132fa]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x2c], eax
mov bl, byte [esi + 0x643]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x131bd]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x780]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x13080]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x30], eax
mov bl, byte [esi + 0x8c5]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x12f3b]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x782]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1307e]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x38], eax
mov bl, byte [esi + 0x8c7]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x12f39]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x784]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1307c]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x34], eax
mov bl, byte [esi + 0x8c1]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x12f3f]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov bl, byte [esi + 0x786]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x1307a]
add ebp, eax
mov eax, dword [edi + ebx*4]
mov dword [esp + 0x3c], eax
mov bl, byte [esi + 0x8c3]
mov eax, dword [eax + ecx*4]
mov cl, byte [esi - 0x12f3d]
add ebp, eax
mov eax, dword [edi + ebx*4]
add edx, ebx
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x44], edx
mov eax, dword [eax + ecx*4]
add ebp, eax
mov cl, byte [edi + 8]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x40], ebp
shr ebp, 0x11
lea edx, [ecx*4 - 1]
cmp ebp, edx
mov dword [esp + 0x58], ebp
mov dl, byte [ebx*8 + 0x14f89c8b]
mov cl, byte [ebx*8 + 0x14f89c8d]
mov ebx, 0
lea esi, [esi - 0x13800]
mov dword [esp + 0x50], esi
jle 0x14f8008a
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x74], ebp
cmp eax, 0
jne 0x14f8008a
mov edi, dword [ecx + 0x14f89c34]
mov ebp, dword [edx + 0x14f89c34]
mov eax, dword [esp + 4]
xor ebx, ebx
mov dl, byte [esi + ebp]
mov cl, byte [edi + esi]
add edi, esi
mov bl, byte [esi + ebp + 2]
mov edx, dword [eax + edx*4]
add esi, ebp
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp]
mov ebp, edx
mov cl, byte [edi + 2]
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 4]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 8]
mov cl, byte [edi + 4]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 6]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0xc]
mov cl, byte [edi + 6]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x280]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x10]
mov cl, byte [edi + 0x280]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x282]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x18]
mov cl, byte [edi + 0x282]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x284]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x14]
mov cl, byte [edi + 0x284]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x286]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x1c]
mov cl, byte [edi + 0x286]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x500]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 0x500]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x502]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x28]
mov cl, byte [edi + 0x502]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x504]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x24]
mov cl, byte [edi + 0x504]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x506]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x2c]
mov cl, byte [edi + 0x506]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x780]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x30]
mov cl, byte [edi + 0x780]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x782]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x38]
mov cl, byte [edi + 0x782]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x784]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x34]
mov cl, byte [edi + 0x784]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov bl, byte [esi + 0x786]
mov dl, byte [eax + ecx*4 + 2]
mov eax, dword [esp + 0x3c]
mov cl, byte [edi + 0x786]
add ebp, edx
mov edx, dword [eax + ebx*4]
mov edi, dword [esp + 0x58]
mov dl, byte [eax + ecx*4 + 2]
mov ecx, ebp
add ecx, edx
add edx, ebp
shr edx, 0x10
and ecx, 0xffff
xor eax, eax
cmp edx, ecx
adc eax, eax
cmp edx, edi
adc eax, eax
cmp ecx, edi
adc eax, eax
mov edi, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
mov bl, byte [eax + 0x14f89c2c]
xor edx, edx
mov eax, dword [esp + 4]
xor edx, edx
mov ebp, dword [esp + ebx*2 + 0x58]
mov cl, byte [ebx + edi*8 + 0x14f89c88]
and ecx, 0xff
mov bl, byte [ebx + edi*8 + 0x14f89c89]
mov dword [esp + 0x58], ebp
je 0x14f8008a
mov dl, byte [ecx*8 + 0x14f89c8b]
mov edi, dword [ebx + 0x14f89c34]
mov dword [esp + 0x48], ecx
mov esi, dword [esp + 0x50]
mov cl, byte [ecx*8 + 0x14f89c8d]
add esi, edi
mov ebp, dword [edx + 0x14f89c34]
mov edi, dword [ecx + 0x14f89c34]
mov dword [esp + 0x50], esi
jmp 0x14f7fe88
mov esi, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x14f89c34]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
add esi, eax
add edi, dword [edx]
add ebx, esi
sub ebx, edi
mov dword [edx + 0x18], ebx
mov ebp, ebx
mov eax, ebx
sar ebp, 8
lea ebx, [ebx*4]
sar bl, 2
mov byte [edx + 0xb], bl
mov bl, byte [ebp + 0x14f89c7e]
mov byte [edx + 0xa], bl
jmp 0x14f800cb
mov ebx, dword [esp + 0x44]
mov edx, 0xc
add edx, ebx
add ebx, 4
shr edx, 4
mov eax, dword [esp + 4]
shr ebx, 4
mov esi, dword [esp]
mov ecx, dword [eax + edx*4]
nop
mov eax, dword [esp + 8]
mov cl, byte [esi + ebx*4 + 2]
mov esi, dword [esp + 0xc]
mov ebp, ecx
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x20]
mov cl, byte [esi + ebx*4 + 2]
mov esi, dword [esp + 0x28]
add ebp, ecx
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x24]
mov cl, byte [esi + ebx*4 + 2]
mov esi, dword [esp + 0x2c]
add ebp, ecx
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
mov cl, byte [esi + ebx*4 + 2]
mov esi, dword [esp + 0x18]
add ebp, ecx
mov ecx, dword [eax + ebx*4]
mov eax, dword [esp + 0x14]
mov cl, byte [esi + edx*4 + 2]
mov esi, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [eax + ebx*4]
mov eax, dword [esp + 0x30]
mov cl, byte [esi + edx*4 + 2]
mov esi, dword [esp + 0x38]
add ebp, ecx
mov ecx, dword [eax + ebx*4]
mov eax, dword [esp + 0x34]
mov cl, byte [esi + edx*4 + 2]
mov esi, dword [esp + 0x3c]
add ebp, ecx
mov eax, dword [eax + ebx*4]
mov cl, byte [esi + edx*4 + 2]
mov edx, dword [esp + 0x4c]
add eax, ebp
shr eax, 0x10
add ebp, ecx
and ebp, 0xffff
add eax, ebp
mov ebp, dword [esp + 0x58]
mov bl, byte [edx + 8]
mov cl, 0
test ebp, ebp
js 0x14f8019b
cmp ebp, 0x100
jae 0x14f8019b
imul ebp, dword [esp + 0x70]
shr ebp, 3
cmp ebp, eax
jae 0x14f8019b
mov cl, 1
mov byte [edx + 9], cl
mov ecx, dword [esp + 0x54]
mov dword [edx + 0x10], eax
add ecx, eax
imul eax, dword [ebx*4 + 0x14f89e64]
mov dword [esp + 0x54], ecx
mov dword [edx + 0x14], eax
jmp 0x14f7f7b7
xor ecx, ecx
xor ebx, ebx
xor edx, edx
mov bl, byte [esi]
lea edi, [0x14f89030]
mov cl, byte [esi + 4]
mov dl, byte [esi + 2]
mov eax, dword [edi + ebx*4]
add ebx, edx
mov ebp, dword [edi + edx*4]
add ebx, ecx
mov dword [esp + 4], eax
mov eax, dword [edi + ecx*4]
mov dl, byte [esi + 6]
mov cl, byte [esi + 0x280]
mov dword [esp], ebp
mov dword [esp + 8], eax
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x282]
mov cl, byte [esi + 0x284]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x286]
mov cl, byte [esi + 0x500]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x502]
mov cl, byte [esi + 0x504]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x506]
mov cl, byte [esi + 0x780]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x782]
mov cl, byte [esi + 0x784]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov ebp, dword [edi + ecx*4]
add ebx, ecx
mov dl, byte [esi + 0x786]
mov ecx, 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebp
mov eax, dword [edi + edx*4]
add ebx, edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ecx
jmp 0x14f800cb
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
mov esp, dword [esp + 0x78]
mov esi, dword [esp + 0xa4]
add esp, 0x7c
mov dword [esi], ecx
pop ebx
pop ebp
pop edi
pop esi
ret