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

Disassembly:
push 0xffffffffffffffff
push 0x524f56
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 0x4a19ab
push 0x568400
push ebx
call fcn.00417cb0
add esp, 8
jmp 0x4a1fde
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 + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x54], eax
lea eax, [edi + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x84]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x44], edx
call fcn.004a3360
test al, al
jne 0x4a1a38
mov ecx, ebx
mov byte [edi + 0x148], 1
call fcn.00417c00
push 0x568414
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
jmp 0x4a1fdc
lea eax, [esp + 0x30]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], eax
mov dword [esp + 0x2d4], esi
mov eax, dword [esp + 0x64]
cmp eax, 0x55440101
je 0x4a1aaf
cmp eax, 0x554401d3
je 0x4a1aaf
push 0x568400
push ebx
call fcn.00417cb0
add esp, 8
mov bl, al
lea ecx, [esp + 0x30]
push ecx
mov eax, edi
lea ecx, [edi + 8]
mov dword [esp + 0x2d8], 0xffffffff
call fcn.004a3590
test al, al
jne 0x4a1aa8
mov byte [edi + 0x148], 1
mov al, bl
jmp 0x4a1fde
lea edx, [esp + 0x90]
push edx
mov esi, ebp
mov edi, ebx
call fcn.004a2db0
add esp, 4
test al, al
jne 0x4a1ae7
mov ecx, ebx
call fcn.00417c00
push 0x56842c
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
jmp 0x4a1fb3
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 0x4a1b27
mov eax, ecx
cmp dword [esp + 0x2c], 0x400
lea esi, [eax + 4]
mov dword [esp + 0x20], esi
ja 0x4a1f73
cmp dword [esp + 0x78], 0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x60], 0
jle 0x4a1e02
mov edx, dword [ebp]
mov edx, dword [edx + 4]
push 4
lea eax, [esp + 0x20]
push eax
push ebx
mov ecx, ebp
call edx
test al, al
je 0x4a1e4c
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push 2
lea ecx, [esp + 0x60]
push ecx
push ebx
mov ecx, ebp
mov dword [esp + 0x68], 0
call edx
test al, al
je 0x4a1e8b
mov eax, dword [esp + 0x5c]
movsx ecx, ax
mov edx, ecx
and edx, 0x80000001
jns 0x4a1ba5
dec edx
or edx, 0xfffffffe
inc edx
jne 0x4a1eca
test ax, ax
jle 0x4a1ed1
mov edx, 0x80
cmp ax, dx
ja 0x4a1ef7
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 0x4a1f4d
movzx ecx, word [esp + 0x23c]
shr ecx, 1
mov eax, 0
je 0x4a1c14
jmp 0x4a1c00
cmp word [esp + eax*2 + 0x23e], 0
jl 0x4a1f18
inc eax
cmp eax, ecx
jb 0x4a1c00
mov eax, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x240]
lea ecx, [edi + 8]
call fcn.004a3430
test al, al
jne 0x4a1c33
mov byte [edi + 0x148], 1
movzx ecx, word [esp + 0x23c]
mov edx, dword [esp + 0x50]
inc dword [esp + 0x4c]
cmp dword [esp + 0x1c], 0
lea eax, [edx + ecx + 2]
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], 0
jle 0x4a1de8
mov edi, edi
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 0x4a1f1f
mov eax, dword [esp + 0x24]
movsx ecx, ax
and ecx, 0x80000001
jns 0x4a1c96
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4a1f29
test ax, ax
jle 0x4a1f30
mov edx, 0x80
cmp ax, dx
ja 0x4a1f37
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 0x4a1f3e
movzx eax, byte [esp + 0x1b4]
xor ecx, ecx
mov word [esp + eax + 0x1b6], cx
lea eax, [esp + 0x1b6]
mov byte [esp + 0x17], cl
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4a1d00
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
movzx eax, word [esp + 0x1b4]
cmp edx, eax
je 0x4a1d23
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp]
mov edx, dword [edx + 4]
push eax
push esi
push ebx
mov ecx, ebp
call edx
test al, al
je 0x4a1f45
cmp byte [esp + 0x17], 0
je 0x4a1d48
xor eax, eax
mov word [esi], ax
mov edi, dword [esp + 0x20]
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 0x4a1dcd
mov edx, dword [edi + 4]
cmp edx, dword [esp + 0x84]
jb 0x4a1d7e
mov dword [edi + 4], 1
movzx eax, word [edi]
add dword [esp + 0x88], eax
cmp word [edi], 0
je 0x4a1dcd
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
push esi
lea eax, [esp + 0x1b8]
lea ecx, [edi + 8]
call fcn.004a34b0
test al, al
jne 0x4a1db1
mov byte [edi + 0x148], 1
movsx ecx, word [esp + 0x24]
mov edx, dword [esp + 0x58]
inc dword [esp + 0x54]
lea eax, [edx + ecx + 2]
mov dword [esp + 0x58], eax
movzx ecx, word [esi]
add dword [esp + 0x44], ecx
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jl 0x4a1c60
mov eax, dword [esp + 0x60]
inc eax
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x60], eax
jl 0x4a1b53
mov ecx, dword [esp + 0x9c]
cmp byte [esp + 0x1b0], 0
jne 0x4a1e20
lea eax, [esp + 0xa0]
cmp ecx, eax
je 0x4a1e20
push ecx
call fcn.004fe606
add esp, 4
lea ecx, [esp + 0x30]
push ecx
mov eax, edi
lea ecx, [edi + 8]
mov dword [esp + 0x2d8], 0xffffffff
call fcn.004a3590
test al, al
jne 0x4a1e45
mov byte [edi + 0x148], 1
mov al, 1
jmp 0x4a1fde
push str.read_UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x4a1e81
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
cmp eax, edx
je 0x4a1e81
push eax
call fcn.004fe606
add esp, 4
lea eax, [esp + 0x30]
push eax
jmp 0x4a1a88
push str.read_UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
cmp byte [esp + 0x1b0], 0
mov bl, al
jne 0x4a1ec0
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
cmp eax, ecx
je 0x4a1ec0
push eax
call fcn.004fe606
add esp, 4
lea edx, [esp + 0x30]
push edx
jmp 0x4a1a88
push str.UsrDict_Data_Error:_CbPyStr____2___0
jmp 0x4a1e90
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
lea eax, [esp + 0x30]
push eax
jmp 0x4a1a88
push str.UsrDict_Data_Error:_CbPyStr___64__sizeof_TCHAR_
push ebx
call fcn.00417cb0
add esp, 8
lea ecx, [esp + 0x9c]
mov bl, al
call fcn.004132e0
jmp 0x4a1a83
push str.usrdict_Data_error:_pPyId_curPyId____0
jmp 0x4a1ed6
push str.UsrDict_Data_Error
jmp 0x4a1e90
push str.UsrDict_Data_Error:_CbWord____2___0
jmp 0x4a1ed6
push str.UsrDict_Data_Error:_CbWord___0
jmp 0x4a1efc
push str.Usrdict_Data_Error:_CbWord___64__sizeof_TCHAR_
jmp 0x4a1f52
push str.UsrDict_Data_Error
jmp 0x4a1ed6
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
push str.UsrDict_Data_Error
push ebx
call fcn.00417cb0
add esp, 8
lea ecx, [esp + 0x9c]
mov bl, al
call fcn.004132e0
lea edx, [esp + 0x30]
push edx
jmp 0x4a1a88
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 0x4a1fb3
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
cmp eax, edx
je 0x4a1fb3
push eax
call fcn.004fe606
add esp, 4
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x30]
push eax
mov eax, esi
lea ecx, [esi + 8]
mov dword [esp + 0x2d8], 0xffffffff
call fcn.004a3590
test al, al
jne 0x4a1fdc
mov byte [esi + 0x148], 1
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