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

Disassembly:
sub esp, 0x868
mov eax, dword [0x4a7534]
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 0x435a0e
push 0x49918c
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
cmp dword [esp + 0x48], 0x55440101
jne 0x4359fb
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.00435840
test al, al
jne 0x435ac0
push 0x4991a0
jmp 0x435eb5
test byte [0x4b1808], 1
jne 0x435ada
mov edx, dword [esp + 0x70]
or dword [0x4b1808], 1
mov dword [0x4b1804], 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 0x435eb0
test eax, eax
jl 0x435eb0
cmp dword [0x4b1804], 0x400
ja 0x435eb0
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x14], 0
jle 0x435d85
mov ecx, dword [esp + 0x18]
add ecx, 8
mov dword [esp + 0x20], ecx
jmp 0x435b34
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x44]
ja 0x435d8c
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 0x435d9f
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jae 0x435db2
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 0x435d9f
mov ecx, dword [esp + 0x1c]
movzx eax, word [ecx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x435bbd
dec edx
or edx, 0xfffffffe
inc edx
jne 0x435dc5
test ax, ax
jle 0x435dd8
cmp ax, 0x80
ja 0x435deb
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 0x435e37
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 0x435c50
jmp 0x435c20
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + eax*2]
test cx, cx
jl 0x435dfe
movsx ecx, cx
cmp ecx, dword [esp + 0x38]
jg 0x435e11
mov cx, word [esp + ecx*2 + 0x74]
mov word [edx + eax*2], cx
add eax, 1
cmp eax, dword [esp + 0x2c]
jb 0x435c20
mov edx, dword [esp + 0x20]
cmp dword [edx], 0
mov dword [esp + 0x10], 0
jbe 0x435d5a
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 0x435e24
movzx eax, word [ebx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x435c9f
dec edx
or edx, 0xfffffffe
inc edx
jne 0x435e47
test ax, ax
jle 0x435e6a
cmp ax, 0x80
ja 0x435e8d
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 0x435e24
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 [0x4b1804]
push ecx
add eax, 4
push eax
push edi
mov ecx, esi
call edx
test al, al
je 0x435e24
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
cmp eax, dword [esp + 0x68]
jb 0x435d22
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 0x435d3c
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 0x435c65
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 0x435b30
mov al, 1
jmp 0x435ec5
push str.usrDict_Data_Error_:_pyBlock___pyBlockEnd
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.read_UsrDict_Data_Error
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.usrDict_Data_Error:_pyStr___pyStrEnd
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.UsrDict_Data_Error:_CbPyStr____2___0
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.UsrDict_Data_Error:_CbPyStr___0
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.usrdict_Data_error:_pPyId_curPyId____0
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
push str.usrdict_Data_Error:_pPyId_curPyId____cidPyMap
push edi
call fcn.0046c2c0
add esp, 8
jmp 0x435ec5
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.0046c2c0
add esp, 8
jmp 0x435ec5
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.0046c2c0
add esp, 8
jmp 0x435ec5
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.0046c2c0
add esp, 8
jmp 0x435ec5
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.0046c2c0
add esp, 8
jmp 0x435ec5
push str._u7b
mov ecx, edi
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
xor al, al
mov ecx, dword [esp + 0x874]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00445c6a
add esp, 0x868
ret 4