Function at 0x435ed0
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 0x435f3e
push 0x4991d0
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
cmp dword [esp + 0x48], 0x55440101
jne 0x435f2b
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.00435d70
test al, al
jne 0x435ff0
push 0x4991e4
jmp 0x4363e5
test byte [0x4b1840], 1
jne 0x43600a
mov edx, dword [esp + 0x70]
or dword [0x4b1840], 1
mov dword [0x4b183c], 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 0x4363e0
test eax, eax
jl 0x4363e0
cmp dword [0x4b183c], 0x400
ja 0x4363e0
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x14], 0
jle 0x4362b5
mov ecx, dword [esp + 0x18]
add ecx, 8
mov dword [esp + 0x20], ecx
jmp 0x436064
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x44]
ja 0x4362bc
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 0x4362cf
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jae 0x4362e2
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 0x4362cf
mov ecx, dword [esp + 0x1c]
movzx eax, word [ecx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x4360ed
dec edx
or edx, 0xfffffffe
inc edx
jne 0x4362f5
test ax, ax
jle 0x436308
cmp ax, 0x80
ja 0x43631b
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 0x436367
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 0x436180
jmp 0x436150
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + eax*2]
test cx, cx
jl 0x43632e
movsx ecx, cx
cmp ecx, dword [esp + 0x38]
jg 0x436341
mov cx, word [esp + ecx*2 + 0x74]
mov word [edx + eax*2], cx
add eax, 1
cmp eax, dword [esp + 0x2c]
jb 0x436150
mov edx, dword [esp + 0x20]
cmp dword [edx], 0
mov dword [esp + 0x10], 0
jbe 0x43628a
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 0x436354
movzx eax, word [ebx]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x4361cf
dec edx
or edx, 0xfffffffe
inc edx
jne 0x436377
test ax, ax
jle 0x43639a
cmp ax, 0x80
ja 0x4363bd
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 0x436354
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 [0x4b183c]
push ecx
add eax, 4
push eax
push edi
mov ecx, esi
call edx
test al, al
je 0x436354
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
cmp eax, dword [esp + 0x68]
jb 0x436252
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 0x43626c
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 0x436195
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 0x436060
mov al, 1
jmp 0x4363f5
push str.usrDict_Data_Error_:_pyBlock___pyBlockEnd
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.read_UsrDict_Data_Error
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.usrDict_Data_Error:_pyStr___pyStrEnd
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.UsrDict_Data_Error:_CbPyStr____2___0
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.UsrDict_Data_Error:_CbPyStr___0
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.usrdict_Data_error:_pPyId_curPyId____0
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
push str.usrdict_Data_Error:_pPyId_curPyId____cidPyMap
push edi
call fcn.0046c760
add esp, 8
jmp 0x4363f5
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.0046c760
add esp, 8
jmp 0x4363f5
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.0046c760
add esp, 8
jmp 0x4363f5
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.0046c760
add esp, 8
jmp 0x4363f5
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.0046c760
add esp, 8
jmp 0x4363f5
push str._u7b
mov ecx, edi
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
xor al, al
mov ecx, dword [esp + 0x874]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0044610a
add esp, 0x868
ret 4