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

Disassembly:
sub esp, 0x868
mov eax, dword [0x4ed3dc]
xor eax, esp
mov dword [esp + 0x864], eax
push ebx
push ebp
mov ebx, ecx
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
push esi
mov esi, dword [esp + 0x878]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
push edi
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
mov edi, edx
mov edx, dword [esi]
mov edx, dword [edx + 4]
push 0x2c
lea eax, [esp + 0x4c]
push eax
push edi
mov ecx, esi
mov dword [esp + 0x3c], ebx
call edx
test al, al
jne 0x43105e
push 0x4defe0
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
cmp dword [esp + 0x48], 0x55440101
jne 0x43104b
xor eax, eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x1c], eax
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x68]
mov dword [edx + 0xc], ecx
mov edx, dword [ebx]
mov ecx, dword [edx]
mov dword [ecx + 0x10], eax
mov edx, dword [ebx]
mov edx, dword [edx + 4]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
lea eax, [eax + eax*2]
lea ecx, [edx + 0x20]
mov dword [esp + 0x18], ecx
add eax, eax
add eax, eax
add ecx, eax
mov dword [esp + 0x44], ecx
lea ecx, [edx + eax + 0x20]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x60]
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 dword [esp + 0x28], ebx
add ebx, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
mov dword [ebp + 8], ecx
add ecx, edx
mov dword [ebp + 4], eax
lea eax, [esp + 0x38]
mov dword [ebp + 0xc], ecx
push eax
lea ecx, [esp + 0x78]
push ecx
mov dword [esp + 0x3c], ebx
mov dword [ebp], 0x20
call fcn.00430ba0
test al, al
jne 0x431110
push 0x4deff4
jmp 0x431505
test byte [0x4f58ac], 1
jne 0x43112a
mov edx, dword [esp + 0x70]
or dword [0x4f58ac], 1
mov dword [0x4f58a8], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx]
cmp eax, dword [ecx + 4]
jg 0x431500
test eax, eax
jl 0x431500
cmp dword [0x4f58a8], 0x400
ja 0x431500
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x14], 0
jle 0x4313d5
mov ecx, dword [esp + 0x18]
add ecx, 8
mov dword [esp + 0x20], ecx
jmp 0x431184
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x44]
ja 0x4313dc
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x40]
mov dword [ecx - 8], eax
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx - 4], eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 4
push ecx
push edi
mov ecx, esi
call eax
test al, al
je 0x4313ef
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jae 0x431402
mov edx, dword [esi]
push 2
push eax
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
push edi
mov ecx, esi
call eax
test al, al
je 0x4313ef
mov ecx, dword [esp + 0x1c]
movzx eax, word [ecx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x43120d
dec edx
or edx, 0xfffffffe
inc edx
jne 0x431415
test ax, ax
jle 0x431428
cmp ax, 0x80
ja 0x43143b
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
add eax, 2
push ecx
push eax
mov dword [esp + 0x18], eax
mov eax, dword [edx + 4]
push edi
mov ecx, esi
call eax
test al, al
je 0x431487
mov eax, dword [esp + 0x1c]
movsx ecx, word [eax]
lea edx, [eax + ecx + 2]
mov eax, dword [esp + 0x28]
movsx eax, word [eax]
shr eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
mov eax, 0
je 0x4312a0
jmp 0x431270
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + eax*2]
test cx, cx
jl 0x43144e
movsx ecx, cx
cmp ecx, dword [esp + 0x38]
jg 0x431461
mov cx, word [esp + ecx*2 + 0x74]
mov word [edx + eax*2], cx
add eax, 1
cmp eax, dword [esp + 0x2c]
jb 0x431270
mov edx, dword [esp + 0x20]
cmp dword [edx], 0
mov dword [esp + 0x10], 0
jbe 0x4313aa
mov ecx, dword [esp + 0x24]
mov eax, ebx
sub eax, dword [esp + 0x34]
push 2
mov dword [ecx], eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push ebx
push edi
mov ecx, esi
mov dword [esp + 0x38], ebx
call eax
test al, al
je 0x431474
movzx eax, word [ebx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x4312ef
dec edx
or edx, 0xfffffffe
inc edx
jne 0x431497
test ax, ax
jle 0x4314ba
cmp ax, 0x80
ja 0x4314dd
mov eax, dword [esi]
mov edx, dword [eax + 4]
push ecx
lea ecx, [ebx + 2]
push ecx
push edi
mov ecx, esi
call edx
test al, al
je 0x431474
movsx eax, word [ebx]
mov edx, dword [esp + 0x2c]
mov word [eax + ebx + 2], 0
movsx eax, word [edx]
movsx ecx, word [ebx]
add eax, 4
add dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esi]
mov edx, dword [edx + 4]
lea ebx, [ebx + ecx + 4]
mov ecx, dword [0x4f58a8]
push ecx
add eax, 4
push eax
push edi
mov ecx, esi
call edx
test al, al
je 0x431474
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
cmp eax, dword [esp + 0x68]
jb 0x431372
mov dword [ecx + 8], 1
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
movzx edx, word [ecx + 4]
mov eax, dword [eax]
add dword [eax + 0x10], edx
cmp word [ecx + 4], 0
je 0x43138c
add dword [ebp + 0x18], 1
mov eax, dword [esp + 0x10]
add ecx, 0xc
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
add eax, 1
cmp eax, dword [ecx]
mov dword [esp + 0x10], eax
jb 0x4312b5
add dword [ebp + 0x10], 1
mov edx, dword [esp + 0x28]
movsx eax, word [edx]
add dword [esp + 0x20], 0xc
add eax, 2
add dword [ebp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
jl 0x431180
mov al, 1
jmp 0x431515
push str.usrDict_Data_Error_:_pyBlock___pyBlockEnd
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.read_UsrDict_Data_Error
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.usrDict_Data_Error:_pyStr___pyStrEnd
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.UsrDict_Data_Error:_CbPyStr____2___0
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.UsrDict_Data_Error:_CbPyStr___0
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.usrdict_Data_error:_pPyId_curPyId____0
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
push str.usrdict_Data_Error:_pPyId_curPyId____cidPyMap
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], edx
push str.UsrDict_Data_Error
push edi
call fcn.0049d170
add esp, 8
jmp 0x431515
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error:_CbWord____2___0
push edi
mov dword [eax + ecx*4 + 8], edx
call fcn.0049d170
add esp, 8
jmp 0x431515
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.UsrDict_Data_Error:_CbWord___0
push edi
mov dword [eax + ecx*4 + 8], edx
call fcn.0049d170
add esp, 8
jmp 0x431515
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x18]
push str.Usrdict_Data_Error:_CbWord___64__sizeof_TCHAR_
push edi
mov dword [eax + ecx*4 + 8], edx
call fcn.0049d170
add esp, 8
jmp 0x431515
push str._u7b
mov ecx, edi
call fcn.0049cc40
mov ecx, eax
call fcn.0049ccb0
xor al, al
mov ecx, dword [esp + 0x874]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046ec29
add esp, 0x868
ret 4