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

Disassembly:
push 0xffffffffffffffff
push 0x51fd86
mov eax, dword fs:[0]
push eax
sub esp, 0x2b8
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0x2b0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x2cc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x2dc]
mov eax, dword [ebp]
mov ebx, ecx
push 0x2c
xor esi, esi
lea ecx, [esp + 0x68]
push ecx
mov edi, edx
mov edx, dword [eax + 4]
push ebx
mov ecx, ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x70], 0x554401d3
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], 8
call edx
test al, al
jne 0x49fa3b
push 0x568400
push ebx
call fcn.00417cb0
add esp, 8
jmp 0x4a00b8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x54], eax
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x40], edx
cmp dword [eax], esi
je 0x49fa9b
cmp dword [eax + 4], esi
jg 0x49fabf
mov ecx, ebx
mov byte [edi + 0xc], 1
call fcn.00417c00
push 0x568414
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
jmp 0x4a00b6
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
lea edi, [eax + 8]
mov ecx, 0xb
lea esi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
xor eax, eax
lea ecx, [esp + 0x30]
mov byte [esi + 0xc], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ecx
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x64]
cmp eax, 0x55440101
je 0x49fb3a
cmp eax, 0x554401d3
je 0x49fb3a
push 0x568400
push ebx
call fcn.00417cb0
mov bl, al
add esp, 8
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
lea edx, [esp + 0x90]
push edx
mov esi, ebp
mov edi, ebx
call fcn.004a2db0
add esp, 4
test al, al
jne 0x49fb72
mov ecx, ebx
call fcn.00417c00
push 0x56842c
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
jmp 0x4a00a9
mov edi, dword [esp + 0x8c]
lea esi, [esp + 0x9c]
mov dword [esp + 0x2c], edi
call fcn.00413280
mov ecx, edi
mov byte [esp + 0x2d4], 1
call fcn.00413530
cmp byte [esp + 0x1b0], 0
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0xa0]
jne 0x49fbb2
mov eax, ecx
cmp dword [esp + 0x2c], 0x400
lea edi, [eax + 4]
ja 0x4a0069
cmp dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
jle 0x49fe85
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push 4
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov ecx, ebp
call edx
test al, al
je 0x49feb7
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push 2
lea ecx, [esp + 0x64]
push ecx
push ebx
mov ecx, ebp
mov dword [esp + 0x6c], 0
call edx
test al, al
je 0x49ff00
mov eax, dword [esp + 0x60]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x49fc28
dec edx
or edx, 0xfffffffe
inc edx
jne 0x49ff49
test ax, ax
jle 0x49ff92
mov edx, 0x80
cmp ax, dx
ja 0x49ffc2
push ecx
lea ecx, [esp + 0x242]
mov word [esp + 0x240], ax
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push ecx
push ebx
mov ecx, ebp
call edx
test al, al
je 0x4a005f
movzx ecx, word [esp + 0x23c]
shr ecx, 1
mov eax, 0
je 0x49fc94
lea ebx, [ebx]
cmp word [esp + eax*2 + 0x23e], 0
jl 0x49ffc9
inc eax
cmp eax, ecx
jb 0x49fc80
mov esi, dword [esp + 0x18]
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x240]
push ecx
mov ecx, dword [esi]
call fcn.00498d00
test al, al
jne 0x49fcc0
mov byte [esi + 0xc], 1
mov eax, dword [esp + 0x20]
movzx edx, word [esp + 0x23c]
inc dword [esp + 0x4c]
mov dword [esi + 0x10], eax
add eax, 4
cmp dword [esp + 0x28], 0
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x50]
lea ecx, [eax + edx + 2]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], 0
jle 0x49fe6b
jmp 0x49fd04
mov esi, dword [esp + 0x18]
mov edx, dword [ebp]
mov edx, dword [edx + 4]
push 2
lea eax, [esp + 0x28]
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0x30], 0
call edx
test al, al
je 0x49ffd0
mov eax, dword [esp + 0x24]
movsx ecx, ax
and ecx, 0x80000001
jns 0x49fd3a
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4a0017
test ax, ax
jle 0x4a0042
mov edx, 0x80
cmp ax, dx
ja 0x4a0049
mov edx, dword [ebp]
mov edx, dword [edx + 4]
mov word [esp + 0x1b4], ax
movzx eax, al
push eax
lea ecx, [esp + 0x1ba]
push ecx
push ebx
mov ecx, ebp
call edx
test al, al
je 0x4a0050
movzx eax, byte [esp + 0x1b4]
xor ecx, ecx
mov word [esp + eax + 0x1b6], cx
lea eax, [esp + 0x1b6]
mov byte [esp + 0x1f], cl
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x49fda0
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
movzx eax, word [esp + 0x1b4]
cmp edx, eax
je 0x49fdc3
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp]
mov edx, dword [edx + 4]
push eax
push edi
push ebx
mov ecx, ebp
call edx
test al, al
je 0x4a0057
cmp byte [esp + 0x1f], 0
je 0x49fde8
xor eax, eax
mov word [edi], ax
mov si, word [edi + 2]
lea ecx, [esp + 0x23c]
push ecx
lea edx, [esp + 0x1ba]
call fcn.004a3050
add esp, 4
test al, al
jne 0x49fe58
mov edx, dword [edi + 4]
cmp edx, dword [esp + 0x84]
jb 0x49fe1a
mov dword [edi + 4], 1
movzx eax, word [edi]
add dword [esp + 0x88], eax
cmp word [edi], 0
je 0x49fe58
mov esi, dword [esp + 0x18]
push edi
lea ecx, [esp + 0x1b8]
push ecx
call fcn.004a3080
movsx edx, word [esp + 0x24]
mov eax, dword [esp + 0x58]
inc dword [esp + 0x54]
lea ecx, [eax + edx + 2]
mov dword [esp + 0x58], ecx
movzx edx, word [edi]
add dword [esp + 0x44], edx
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x49fd00
mov eax, dword [esp + 0x5c]
inc eax
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
jl 0x49fbd6
mov ecx, dword [esp + 0x9c]
cmp byte [esp + 0x1b0], 0
jne 0x49fea3
lea edx, [esp + 0xa0]
cmp ecx, edx
je 0x49fea3
push ecx
call fcn.004fe606
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, 1
jmp 0x4a00b8
push str.read_UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x49feec
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
cmp eax, ecx
je 0x49feec
push eax
call fcn.004fe606
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.read_UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x49ff35
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
cmp eax, edx
je 0x49ff35
push eax
call fcn.004fe606
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.UsrDict_Data_Error:_CbPyStr____2___0
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x49ff7e
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
cmp eax, ecx
je 0x49ff7e
push eax
call fcn.004fe606
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.UsrDict_Data_Error:_CbPyStr___0
push ebx
call fcn.00417cb0
add esp, 8
lea ecx, [esp + 0x9c]
mov bl, al
call fcn.004132e0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
jmp 0x49ff97
push str.usrdict_Data_error:_pPyId_curPyId____0
jmp 0x49ff97
push str.UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x4a0005
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
cmp eax, edx
je 0x4a0005
push eax
call fcn.004fe606
add esp, 4
mov ecx, esi
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.UsrDict_Data_Error:_CbWord____2___0
push ebx
call fcn.00417cb0
add esp, 8
lea ecx, [esp + 0x9c]
mov bl, al
call fcn.004132e0
mov ecx, esi
lea eax, [esp + 0x30]
call fcn.004a3160
mov al, bl
jmp 0x4a00b8
push str.UsrDict_Data_Error:_CbWord___0
jmp 0x4a001c
push str.Usrdict_Data_Error:_CbWord___64__sizeof_TCHAR_
jmp 0x4a001c
push str.UsrDict_Data_Error
jmp 0x4a001c
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
push str.UsrDict_Data_Error
jmp 0x49ff97
mov ecx, ebx
call fcn.00417c00
push 0x568440
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
cmp byte [esp + 0x1b0], 0
jne 0x4a00a9
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
cmp eax, ecx
je 0x4a00a9
push eax
call fcn.004fe606
add esp, 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x30]
call fcn.004a3160
xor al, al
mov ecx, dword [esp + 0x2cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2b0]
xor ecx, esp
call fcn.004fdc2b
add esp, 0x2c4
ret 4