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

Disassembly:
sub esp, 0x6c
mov ecx, dword [esp + 0x74]
push ebx
mov ebx, dword [esp + 0x74]
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [ebx]
mov ebp, dword [eax + 4]
xor eax, eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
mov edx, dword [edi]
mov edx, dword [edx + 4]
push 0x2c
lea eax, [esp + 0x54]
xor esi, esi
push eax
push ecx
mov ecx, edi
mov dword [esp + 0x5c], 0x554401d3
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], 8
call edx
test al, al
jne 0x491c00
mov eax, dword [esp + 0x84]
push 0x552e4c
push eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x50]
cmp eax, 0x55440101
je 0x491c31
cmp eax, 0x554401d3
je 0x491c31
mov ecx, dword [esp + 0x84]
push 0x552e4c
push ecx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x1c], esi
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0xc], ecx
mov edx, dword [ebx]
mov eax, dword [edx]
mov dword [eax + 0x10], esi
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
lea eax, [eax + eax*2]
lea ecx, [edx + 0x20]
mov dword [esp + 0x1c], ecx
add eax, eax
add eax, eax
add ecx, eax
mov dword [esp + 0x38], ecx
lea ecx, [edx + eax + 0x20]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x68]
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add edx, ecx
lea edx, [edx + eax + 0x20]
add eax, 0x20
add ecx, eax
mov ebx, esi
mov dword [ebp + 8], ecx
add ecx, ebx
mov ebx, dword [esp + 0x84]
add esi, edx
mov dword [ebp + 0xc], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov dword [ebp], 0x20
mov dword [ebp + 4], eax
call fcn.004917a0
test al, al
jne 0x491cd9
mov ecx, ebx
call fcn.00416430
push 0x552e60
jmp 0x492294
test byte [0x576ef0], 1
jne 0x491cf3
mov edx, dword [esp + 0x78]
or dword [0x576ef0], 1
mov dword [0x576eec], edx
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx]
cmp eax, dword [ecx + 4]
jg 0x492288
test eax, eax
jl 0x492288
cmp dword [0x576eec], 0x400
ja 0x492288
cmp dword [esp + 0x64], 0
mov dword [esp + 0x14], 0
jle 0x492017
mov edx, dword [esp + 0x1c]
add edx, 8
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x38]
ja 0x49205c
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov ecx, ebx
sub ecx, dword [esp + 0x3c]
mov eax, 0x2aaaaaab
mov dword [edx - 8], ecx
mov ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x40]
push 4
imul ecx
mov eax, dword [esp + 0x28]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [eax - 4], ecx
mov edx, dword [edi]
mov edx, dword [edx + 4]
push eax
mov eax, dword [esp + 0x8c]
push eax
mov ecx, edi
call edx
test al, al
je 0x49207b
cmp ebx, dword [esp + 0x30]
jae 0x49209a
mov ecx, dword [esp + 0x84]
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 2
push ebx
push ecx
mov ecx, edi
mov dword [esp + 0x34], ebx
call edx
test al, al
je 0x4920b9
movzx eax, word [ebx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x491dd9
dec edx
or edx, 0xfffffffe
inc edx
jne 0x4920d8
test ax, ax
jle 0x4920f7
mov edx, 0x80
cmp ax, dx
ja 0x492116
mov edx, dword [edi]
mov edx, dword [edx + 4]
push ecx
lea eax, [ebx + 2]
push eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x8c]
push eax
mov ecx, edi
call edx
test al, al
je 0x492135
movsx eax, word [ebx]
mov edx, dword [esp + 0x28]
lea ecx, [ebx + eax + 2]
mov dword [esp + 0x2c], ecx
movsx ecx, word [edx]
shr ecx, 1
mov eax, 0
je 0x491e54
jmp 0x491e40
mov edx, dword [esp + 0x34]
cmp word [edx + eax*2], 0
jl 0x492154
inc eax
cmp eax, ecx
jb 0x491e40
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov dword [esp + 0x18], 0
jbe 0x491fef
lea esp, [esp]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x84]
mov ecx, esi
sub ecx, dword [esp + 0x30]
push 2
mov dword [edx], ecx
mov eax, dword [edi]
mov edx, dword [eax + 4]
push esi
push ebx
mov ecx, edi
mov dword [esp + 0x50], esi
call edx
test al, al
je 0x492173
movzx eax, word [esi]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x491eb1
dec edx
or edx, 0xfffffffe
inc edx
jne 0x49219e
test ax, ax
jle 0x4921c9
mov edx, 0x80
cmp ax, dx
ja 0x4921f4
mov eax, dword [edi]
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x88]
lea ebx, [esi + 2]
push ebx
push ecx
mov ecx, edi
mov dword [esp + 0x54], ebx
call edx
test al, al
je 0x49221f
movsx eax, word [esi]
xor ecx, ecx
mov word [eax + esi + 2], cx
mov eax, ebx
mov byte [esp + 0x13], cl
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x491f03
movsx ecx, word [esi]
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
cmp edx, ecx
je 0x491f21
mov byte [esp + 0x13], 1
mov ebx, dword [esp + 0x20]
lea eax, [esi + ecx + 4]
mov ecx, dword [esp + 0x44]
movsx edx, word [ecx]
mov ecx, dword [0x576eec]
mov esi, dword [esp + 0x84]
add edx, 4
add dword [ebp + 0x1c], edx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [edi]
mov edx, dword [eax + 4]
add ebx, 4
push ebx
push esi
mov ecx, edi
call edx
test al, al
je 0x492251
cmp byte [esp + 0x13], 0
je 0x491f6a
xor eax, eax
mov word [ebx], ax
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx]
inc dword [eax + 0x18]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov si, word [eax + 6]
push edx
mov edx, dword [esp + 0x4c]
call fcn.004938f0
add esp, 4
mov edx, 1
test al, al
je 0x491fa4
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx]
add dword [eax + 0x1c], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
cmp eax, dword [esp + 0x70]
jb 0x491fb4
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
movzx esi, word [ebx]
mov eax, dword [eax]
add dword [eax + 0x10], esi
cmp word [ebx], 0
je 0x491fce
add dword [ebp + 0x18], edx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
add ecx, 0xc
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
add eax, edx
mov dword [esp + 0x18], eax
cmp eax, dword [ecx]
jb 0x491e70
inc dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
movsx eax, word [edx]
add dword [esp + 0x24], 0xc
add eax, 2
add dword [ebp + 0x14], eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
jl 0x491d40
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
push edx
push eax
mov eax, dword [esp + 0x88]
mov ecx, esi
call fcn.004924d0
test al, al
jne 0x49227c
push 0x5531c8
mov ecx, esi
call fcn.004014b0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x6c
ret 0x10
mov ecx, dword [esp + 0x84]
push str.usrDict_Data_Error_:_pyBlock___pyBlockEnd
push ecx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov edx, dword [esp + 0x84]
push str.read_UsrDict_Data_Error
push edx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x84]
push str.usrDict_Data_Error:_pyStr___pyStrEnd
push eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov ecx, dword [esp + 0x84]
push str.read_UsrDict_Data_Error
push ecx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov edx, dword [esp + 0x84]
push str.UsrDict_Data_Error:_CbPyStr____2___0
push edx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x84]
push str.UsrDict_Data_Error:_CbPyStr___0
push eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov ecx, dword [esp + 0x84]
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
push ecx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov edx, dword [esp + 0x84]
push str.UsrDict_Data_Error
push edx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x84]
push str.usrdict_Data_error:_pPyId_curPyId____0
push eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error
push ebx
mov dword [edx + ecx*4 + 8], eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error:_CbWord____2___0
push ebx
mov dword [edx + ecx*4 + 8], eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error:_CbWord___0
push ebx
mov dword [edx + ecx*4 + 8], eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.Usrdict_Data_Error:_CbWord___64__sizeof_TCHAR_
push ebx
mov dword [edx + ecx*4 + 8], eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x84]
push str.UsrDict_Data_Error
push ecx
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error
push esi
mov dword [ecx + edx*4 + 8], eax
call fcn.004164e0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x10
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret 0x10
mov ecx, ebx
call fcn.00416430
push str._u7b
push 0x549858
mov edx, eax
call fcn.00417ed0
add esp, 8
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x6c
ret 0x10