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

Disassembly:
push 0xffffffffffffffff
push 0x504ef1
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x5355a0]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5355a0]
xor eax, esp
push eax
lea eax, [esp + 0xfc]
mov dword fs:[0], eax
mov ebx, ecx
mov ebp, dword [esp + 0x10c]
xor edi, edi
mov esi, edx
mov dword [esp + 0x18], esi
cmp ebp, edi
je 0x45d191
cmp dword [ebx], 0xc
jl 0x45d191
call fcn.00466520
mov dword [esp + 0xa8], eax
cmp eax, edi
jne 0x45c87e
mov ecx, esi
call fcn.00433db0
push str.t_picFaceCloudDict_GetInstance_failed.
jmp 0x45d19d
call fcn.0045d8b0
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x30], fcn.004c328d
mov dword [esp + 0x34], fcn.004c53b2
mov dword [esp + 0x38], fcn.004c31b0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0x1fff8
mov dword [esp + 0x2c], vtable.t_heap.0
mov dword [esp + 0x104], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], vtable.t_lockerMemSharable.0
push 4
push ebp
mov byte [esp + 0x10c], 1
lea eax, [esp + 0xb4]
push 4
push eax
mov dword [esp + 0xbc], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x2c], edi
call fcn.004c6cb2
push 4
lea ecx, [ebp + 4]
push ecx
lea edx, [esp + 0x74]
push 4
push edx
call fcn.004c6cb2
push 4
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x44]
push 4
push ecx
call fcn.004c6cb2
add esp, 0x30
cmp dword [esp + 0x5c], 1
mov dword [esp + 0x48], 0xc
je 0x45c940
push str.req_type_is_not_right.
mov ecx, esi
call fcn.00402790
jmp 0x45d1ac
mov eax, dword [ebx]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x45c994
push eax
push str._respone_packet_size_:
push str._not_equal
push ecx
push str.packet_len_:
mov ecx, esi
call fcn.00402790
mov ecx, eax
call fcn.00434700
mov ecx, eax
call fcn.00434720
mov ecx, eax
call fcn.00434720
mov ecx, eax
call fcn.00434700
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
jmp 0x45d1ac
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x20]
mov ecx, ebp
lea edx, [esp + 0x4c]
call fcn.0045c340
add esp, 4
cmp eax, edi
jne 0x45c9fb
push str.parse_packet_failed.
mov ecx, esi
call fcn.00402790
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45c9e7
jmp 0x45d1ac
mov eax, dword [esp + 0x48]
lea ebx, [eax + 4]
cmp dword [esp + 0x1c], ebx
jae 0x45ca54
push str.parse_packet_failed.
mov ecx, esi
call fcn.00402790
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45ca40
jmp 0x45d1ac
push 4
add eax, ebp
push eax
lea ecx, [esp + 0x54]
push 4
push ecx
mov dword [esp + 0x5c], edi
call fcn.004c6cb2
mov eax, dword [esp + 0x5c]
add esp, 0x10
cmp eax, edi
jg 0x45cac4
push str.parse_packet_failed.
mov ecx, esi
call fcn.00402790
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
lea esp, [esp]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45cab0
jmp 0x45d1ac
cmp eax, edi
mov dword [esp + 0x50], edi
jle 0x45cdfc
xor edi, edi
lea edx, [ebx + 8]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], edi
cmp dword [esp + 0x1c], edx
jb 0x45ce3a
push 4
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x60]
push 4
push ecx
call fcn.004c6cb2
add ebx, 4
push 4
lea edx, [ebx + ebp]
push edx
lea eax, [esp + 0x6c]
push 4
push eax
call fcn.004c6cb2
add ebx, 4
lea esi, [ebx + 4]
add esp, 0x20
mov dword [esp + 0x28], edi
cmp dword [esp + 0x1c], esi
jb 0x45ce88
push 4
lea ecx, [ebx + ebp]
push ecx
lea edx, [esp + 0x30]
push 4
push edx
call fcn.004c6cb2
add esp, 0x10
lea eax, [esp + 0x60]
mov ebx, esi
push eax
mov dword [esp + 0x4c], ebx
call fcn.004704a0
mov byte [esp + 0x104], 2
mov eax, dword [esp + 0x28]
cmp eax, edi
jle 0x45cbb8
xor esi, esi
cmp eax, edi
jle 0x45cba3
lea ecx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x20]
mov ecx, ebp
lea edx, [esp + 0x4c]
call fcn.0045c340
add esp, 4
mov dword [esp + 0xa4], eax
test eax, eax
je 0x45ced6
lea ebx, [esp + 0xa4]
lea edi, [esp + 0x60]
call fcn.0046fbc0
mov eax, dword [esp + 0x28]
inc esi
cmp esi, eax
jl 0x45cb60
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
sub edx, dword [esp + 0x6c]
sar edx, 2
cmp eax, edx
jne 0x45cf34
xor edi, edi
lea esi, [ebx + 0x10]
cmp dword [esp + 0x1c], esi
jl 0x45cf8b
push 0x10
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0xec]
push 0x10
push ecx
call fcn.004c6cb2
lea ebx, [esi + 4]
add esp, 0x10
mov dword [esp + 0x44], edi
cmp dword [esp + 0x1c], ebx
jb 0x45cfe4
push 4
lea edx, [esi + ebp]
push edx
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.004c6cb2
mov eax, dword [esp + 0x54]
lea ecx, [eax + ebx]
add esp, 0x10
cmp dword [esp + 0x1c], ecx
jl 0x45d03b
push eax
lea ecx, [esp + 0x30]
call fcn.004034e0
mov esi, eax
cmp esi, edi
je 0x45d094
mov eax, dword [esp + 0x44]
push eax
lea edx, [ebx + ebp]
push edx
push eax
push esi
call fcn.004c6cb2
mov ecx, dword [esp + 0x54]
xor eax, eax
add esp, 0x10
add ebx, ecx
push ecx
mov ecx, esi
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
call fcn.00457180
mov eax, 0x10
lea ecx, [esp + 0xb0]
lea edx, [esp + 0xe4]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x45cc97
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x45cc81
jmp 0x45cccf
movzx eax, byte [edx]
movzx edi, byte [ecx]
sub eax, edi
jne 0x45ccc3
movzx eax, byte [edx + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x45ccc3
movzx eax, byte [edx + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x45ccc3
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jne 0x45d0eb
mov edx, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7a], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x7e], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x98], edx
cdq
xor ecx, ecx
add eax, dword [esp + 0x9c]
mov word [esp + 0x78], cx
mov ecx, dword [esp + 0x28]
adc edx, dword [esp + 0xa0]
mov dword [esp + 0x82], eax
lea eax, [ecx*4]
mov word [esp + 0x92], cx
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x98], esi
mov dword [esp + 0x8a], edx
call fcn.004034e0
xor edi, edi
cmp dword [esp + 0x28], edi
mov dword [esp + 0x8e], eax
jle 0x45cd9c
lea esi, [esp + 0x60]
call fcn.0045d860
mov eax, dword [eax]
mov ecx, dword [esp + 0x8e]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, dword [esp + 0x28]
jl 0x45cd80
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x20]
push edx
mov eax, esi
call fcn.00420de0
test al, al
je 0x45d141
mov edx, dword [esp + 0xa8]
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
push edx
mov ecx, esi
call fcn.00465840
lea esi, [esp + 0x20]
call fcn.00457350
lea esi, [esp + 0x60]
mov byte [esp + 0x104], 1
call fcn.0045d830
mov eax, dword [esp + 0x50]
inc eax
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
jl 0x45cad0
xor edi, edi
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45ce33
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45ce24
mov al, 1
jmp 0x45d1ae
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45ce74
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45cec2
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x45d1ac
mov edi, dword [esp + 0x38]
lea esp, [esp]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x45cf20
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x45d1ac
mov edi, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x45cf77
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov edi, edi
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45cfd0
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45d027
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov edi, edi
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45d080
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp esi, edi
je 0x45d1ac
mov ebx, dword [esp + 0x38]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call ebx
add esp, 4
cmp esi, edi
jne 0x45d0d7
jmp 0x45d1ac
mov ecx, dword [esp + 0x18]
push str.parse_packet_failed.
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x45d1ac
mov edi, dword [esp + 0x38]
mov edi, edi
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x45d130
jmp 0x45d1ac
push 0x522464
mov ecx, esi
call fcn.00402790
lea esi, [esp + 0x60]
call fcn.0045d830
lea esi, [esp + 0x20]
mov byte [esp + 0x104], 0
call fcn.00440d00
mov dword [esp + 0x104], 0xffffffff
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x45d1ac
mov edi, dword [esp + 0x38]
mov edi, edi
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x45d180
jmp 0x45d1ac
mov ecx, esi
call fcn.00433db0
push str.ParseCloudResp_param_invalid.
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
xor al, al
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.004c31a1
add esp, 0xf4
ret