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

Disassembly:
sub esp, 0x510
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov edi, dword [esi + 0x54]
cmp edi, ebx
je 0x4774ab
push 0x14
lea ecx, [edi + 0x80]
call fcn.0046d5e0
mov ebp, eax
cmp ebp, ebx
je 0x4774a4
cmp dword [esi], ebx
je 0x477494
push ebp
mov ecx, edi
call fcn.004799e0
mov ecx, ebp
call fcn.004691f0
push ebp
call fcn.00416560
add esp, 4
mov edi, dword [edi + 0x10]
cmp edi, ebx
jne 0x477475
lea ecx, [esi + 0x20]
push 0x14
call fcn.0046d5e0
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x2c], edi
je 0x477b28
mov eax, dword [esi]
cmp eax, ebx
je 0x477b18
push eax
mov eax, dword [esi + 4]
push eax
lea ecx, [esp + 0x74]
call fcn.0042bb80
mov ecx, dword [edi + 0x14]
xor edx, edx
mov dh, byte [edi + 9]
xor eax, eax
mov dl, byte [edi + 0xa]
mov al, byte [edi + 0xb]
shl edx, 8
or edx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], edx
xor ebp, ebp
lea eax, [esp + 0x124]
mov ecx, 0x40
mov dword [eax + 4], ebx
mov dword [eax - 4], 6
mov dword [eax], ebx
add eax, 0x10
dec ecx
jne 0x477506
mov ecx, dword [esi + 4]
push ebx
push ecx
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xf4]
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.0046bf60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xf4]
cmp ecx, eax
jge 0x4775f5
lea edi, [esp + 0x120]
mov eax, 6
push 0x4a36ac
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
call fcn.0043d5b0
lea ecx, [esp + 0x34]
push ebx
push ecx
lea ecx, [esp + 0xf0]
call fcn.0046cd80
lea edx, [esp + 0x34]
push 1
mov ecx, edi
push edx
inc ebp
add edi, 0x10
call fcn.0043d4d0
cmp ebp, 0x40
lea ecx, [esp + 0x34]
jge 0x4775d5
call fcn.0043d600
lea ecx, [esp + 0x54]
call fcn.0043d130
lea ecx, [esp + 0x34]
call fcn.0043d130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xf4]
cmp ecx, eax
jl 0x477555
jmp 0x4775ec
call fcn.0043d600
lea ecx, [esp + 0x54]
call fcn.0043d130
lea ecx, [esp + 0x34]
call fcn.0043d130
cmp ebp, 3
jge 0x477637
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0xe8]
call fcn.0046bfa0
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 0x4afb50
call fcn.004161f0
lea esi, [esp + 0x520]
mov ebx, 0x40
sub esi, 0x10
mov ecx, esi
call fcn.0043d130
dec ebx
jne 0x47761c
lea ecx, [esp + 0x6c]
call fcn.0042bc20
jmp 0x477b18
cmp dword [esp + 0x120], 2
je 0x47767a
lea ecx, [esp + 0xe8]
call fcn.0046bfa0
mov edx, dword [esp + 0x18]
mov ecx, 0x4afb50
push edx
call fcn.004161f0
lea esi, [esp + 0x520]
mov edi, 0x40
sub esi, 0x10
mov ecx, esi
call fcn.0043d130
dec edi
jne 0x477668
jmp 0x477b0b
mov ecx, dword [esi + 4]
lea eax, [esp + 0x120]
push eax
call fcn.0044b750
mov edi, eax
cmp edi, ebx
je 0x4776a5
push edi
lea ecx, [esp + 0x1c]
call fcn.00414080
push edi
mov ecx, 0x4afb50
call fcn.004161f0
cmp dword [esp + 0x130], ebx
je 0x477718
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x18]
push str._error
push ecx
call fcn.00414370
add esp, 8
test al, al
jne 0x477a1d
mov edx, dword [esp + 0x18]
push str._result
push edx
call fcn.00414370
add esp, 8
test al, al
jne 0x477a1d
mov eax, dword [esp + 0x18]
push str.onStatus
push eax
call fcn.00414370
add esp, 8
test al, al
je 0x4777a0
lea ecx, [esp + 0x150]
push ecx
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00476fc0
jmp 0x477ad7
fld qword [esp + 0x138]
call fcn.00467130
cmp eax, 1
mov dword [esp + 0x14], eax
jne 0x4776b2
mov ecx, dword [esi]
push str.isConnected
call fcn.0043c220
mov edi, eax
cmp edi, ebx
je 0x477ad7
mov ecx, dword [esp + 0x18]
push str._error
push ecx
call fcn.00414370
add esp, 8
mov ecx, edi
test al, al
sete dl
and edx, 0xff
push edx
call fcn.0043d1f0
cmp dword [edi + 8], ebx
je 0x477775
push ebx
mov ecx, esi
call fcn.00477d80
cmp dword [esi + 0x7c], ebx
jne 0x477ad7
lea eax, [esp + 0x150]
mov ecx, esi
push eax
push ebx
push ebx
push ebx
push ebx
mov dword [esi + 0x7c], 1
call fcn.00476fc0
mov dword [esi + 0x7c], ebx
jmp 0x477ad7
lea eax, [ebp - 1]
mov dword [esp + 0x24], ebx
cmp eax, 3
jl 0x4777d6
mov edx, eax
shl edx, 4
add eax, 0xfffffffe
lea edi, [esp + edx + 0x120]
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 4]
push edi
call fcn.00447e30
mov eax, dword [esp + 0x30]
sub edi, 0x10
dec eax
mov dword [esp + 0x30], eax
jne 0x4777bf
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x4777e3
mov eax, 0x4afb44
push eax
call fcn.00414460
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x477820
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add ebp, 0xfffffffd
push ebp
push edi
push eax
push ecx
call fcn.004795e0
add esp, 0x10
mov ebp, 1
test al, al
jne 0x477813
mov ebp, dword [esp + 0x24]
push edi
mov ecx, 0x4afb50
call fcn.004161f0
jmp 0x477824
mov ebp, dword [esp + 0x24]
cmp dword [esp + 0x14], ebx
jbe 0x477a10
mov edx, dword [esi + 4]
push ebx
push edx
lea ecx, [esp + 0xb8]
call fcn.0046bf30
mov eax, 6
push 0x4afb44
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
call fcn.0043d5b0
cmp ebp, ebx
mov edi, str._result
jne 0x477878
mov edi, str._error
mov ecx, dword [esi + 4]
call fcn.0044d330
push eax
push edi
lea ecx, [esp + 0x3c]
call fcn.0043d2a0
lea eax, [esp + 0x34]
push ebx
push eax
lea ecx, [esp + 0xb8]
call fcn.0046cd80
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ecx
sub esp, 8
fild qword [esp + 0x2c]
lea ecx, [esp + 0x3c]
fstp qword [esp]
call fcn.0043d1d0
lea edx, [esp + 0x34]
push ebx
push edx
lea ecx, [esp + 0xb8]
call fcn.0046cd80
lea ecx, [esp + 0x34]
call fcn.0043d350
lea eax, [esp + 0x34]
push ebx
push eax
lea ecx, [esp + 0xb8]
call fcn.0046cd80
cmp ebp, ebx
jne 0x4779a4
mov eax, 6
push 0x4a36ac
lea ecx, [esp + 0x7c]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ebx
call fcn.0043d5b0
mov ecx, dword [esi + 4]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0043d450
mov edi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ebx
push str.Object
push edi
call fcn.0044a3b0
push ebx
push str.NetConnection.Call.Failed
push str.code
mov ecx, edi
call fcn.0043c9d0
push ebx
push str.error
push str.level
mov ecx, edi
call fcn.0043c9d0
lea edx, [esp + 0x78]
push ebx
push edx
lea ecx, [esp + 0xb8]
call fcn.0046cd80
lea ecx, [esp + 0x78]
call fcn.0043d600
lea ecx, [esp + 0x98]
call fcn.0043d130
lea ecx, [esp + 0x78]
call fcn.0043d130
jmp 0x4779c3
mov ecx, dword [esi + 4]
lea eax, [esp + 0x34]
push eax
call fcn.00447ff0
lea ecx, [esp + 0x34]
push ebx
push ecx
lea ecx, [esp + 0xb8]
call fcn.0046cd80
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
call dword [sym.imp.WINMM.dll_timeGetTime]
and eax, 0x7fffffff
lea ecx, [esi + 0x20]
push eax
push edi
push ebx
push 0x14
call fcn.0046d510
lea ecx, [esp + 0x34]
call fcn.0043d600
lea ecx, [esp + 0x54]
call fcn.0043d130
lea ecx, [esp + 0x34]
call fcn.0043d130
lea ecx, [esp + 0xb0]
call fcn.0046bfa0
mov ecx, dword [esi + 4]
call fcn.00447f60
jmp 0x477ad7
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
push edx
push eax
call fcn.00476f30
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x477ad7
lea ecx, [esp + 0x150]
mov byte [esp + 0x13], bl
push ecx
mov ecx, dword [esi + 4]
call fcn.00447e30
mov edx, dword [esp + 0x18]
push str._result
push edx
call fcn.00414370
add esp, 8
test al, al
mov eax, str.onResult
jne 0x477a6f
mov eax, str.onStatus
mov ecx, dword [esi + 4]
push ebx
push ebx
push ebx
push 1
push eax
push ebx
push ebp
call fcn.00449930
test eax, eax
je 0x477a92
mov ecx, dword [esi + 4]
push 1
call fcn.00443610
mov byte [esp + 0x13], 1
mov ecx, dword [esi + 4]
call fcn.00447f60
cmp byte [esp + 0x13], bl
jne 0x477ac9
mov eax, dword [esp + 0x18]
push str._error
push eax
call fcn.00414370
add esp, 8
test al, al
je 0x477ac9
lea ecx, [esp + 0x150]
push ecx
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00476fc0
mov edx, dword [esp + 0x14]
push edx
push edi
call fcn.00476f50
add esp, 8
lea ecx, [esp + 0xe8]
call fcn.0046bfa0
mov eax, dword [esp + 0x18]
mov ecx, 0x4afb50
push eax
call fcn.004161f0
lea esi, [esp + 0x520]
mov edi, 0x40
sub esi, 0x10
mov ecx, esi
call fcn.0043d130
dec edi
jne 0x477afe
lea ecx, [esp + 0x6c]
call fcn.0042bc20
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.004691f0
push edi
call fcn.00416560
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x510
ret