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

Disassembly:
sub esp, 0xec
push ebx
push ebp
mov ebp, dword [esp + 0x100]
push esi
mov esi, dword [esp + 0x100]
mov ecx, dword [esi]
xor eax, eax
xor ebx, ebx
cmp ecx, 1
push edi
mov edi, ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], eax
jle 0x47978c
push str.Tcl_AppendFormatToObj
push str._s_called_with_shared_object
call fcn.00406da0
add esp, 8
xor eax, eax
cmp dword [esi + 4], eax
je 0x47979d
mov eax, dword [esi + 8]
mov dword [esp + 0xa4], eax
jmp 0x4797ae
lea ecx, [esp + 0xa4]
push ecx
push esi
call fcn.00460f00
add esp, 8
mov ecx, dword [esp + 0xa4]
mov al, byte [ebp]
mov esi, closesocket
sub esi, ecx
test al, al
mov dword [esp + 0x20], esi
je 0x47a938
lea edx, [esp + 0x10]
push edx
push ebp
mov dword [esp + 0x60], 0
call fcn.0048e980
add esp, 8
add ebp, eax
cmp word [esp + 0x10], 0x25
je 0x4797f6
add ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x47a833
test ebx, ebx
je 0x479822
cmp ebx, esi
jg 0x47a84d
mov eax, dword [esp + 0x104]
push ebx
push edi
push eax
call fcn.00479080
add esp, 0xc
sub esi, ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x7c], 0
lea ecx, [esp + 0x10]
push ecx
push ebp
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
cmp bx, 0x25
mov esi, eax
jne 0x47984b
mov ebx, esi
mov edi, ebp
mov dword [esp + 0x7c], ebx
add ebp, esi
jmp 0x47a82f
cmp dword [0x5dd474], 1
jle 0x47986b
push 4
and ebx, 0xff
push ebx
call fcn.00582c84
mov ebx, dword [esp + 0x18]
add esp, 8
jmp 0x479880
xor eax, eax
mov eax, dword [str.________________________________H]
mov edx, ebx
and edx, 0xff
mov al, byte [eax + edx*2]
and eax, 4
test eax, eax
je 0x4798db
push 0xa
lea ecx, [esp + 0x68]
push ecx
push ebp
call fcn.0058334f
mov ecx, dword [esp + 0x70]
mov dl, byte [ecx]
add esp, 0xc
cmp dl, 0x24
jne 0x4798d7
lea edx, [esp + 0x10]
lea ebp, [ecx + 1]
push edx
lea edi, [eax - 1]
push ebp
mov dword [esp + 0x4c], edi
call fcn.0048e980
mov esi, eax
mov eax, dword [esp + 0xa8]
add esp, 8
test eax, eax
jne 0x47a89e
mov ebx, dword [esp + 0x10]
mov ecx, 1
mov dword [esp + 0x68], ecx
jmp 0x4798fb
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x47a89e
mov edi, dword [esp + 0x44]
mov dword [esp + 0xa0], 1
mov ecx, 1
xor edx, edx
cmp edi, edx
jl 0x47a8a5
cmp edi, dword [esp + 0x10c]
jge 0x47a8a5
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x70], edx
mov eax, ebx
and eax, 0xffff
add eax, 0xffffffe0
cmp eax, 0x10
ja case.default.0x47993d
xor edx, edx
mov dl, byte [eax + 0x47a960]
jmp dword [edx*4 + 0x47a948]
mov dword [esp + 0x70], ecx
jmp 0x479960
mov dword [esp + 0x30], ecx
jmp 0x479960
mov dword [esp + 0x3c], ecx
jmp 0x479960
mov dword [esp + 0x34], ecx
jmp 0x479960
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x10]
push eax
add ebp, esi
push ebp
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
mov esi, eax
mov ecx, 1
xor edx, edx
jmp 0x479926
xor edx, edx
cmp dword [0x5dd474], ecx
mov dword [esp + 0x14], edx
jle 0x4799a9
push 4
and ebx, 0xff
push ebx
call fcn.00582c84
mov ebx, dword [esp + 0x18]
add esp, 8
mov ecx, 1
jmp 0x4799be
xor eax, eax
mov eax, dword [str.________________________________H]
mov edx, ebx
and edx, 0xff
mov al, byte [eax + edx*2]
and eax, 4
test eax, eax
je 0x4799e9
push 0xa
lea ecx, [esp + 0x68]
push ecx
push ebp
call fcn.0058334f
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
push edx
push eax
mov ebp, eax
call fcn.0048e980
add esp, 0x14
jmp 0x479a68
cmp bx, 0x2a
jne 0x479a73
mov eax, dword [esp + 0x10c]
dec eax
cmp edi, eax
jge 0x47a8a5
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + edi*4]
cmp dword [eax + 0xc], 0x5b0f90
jne 0x479a1f
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
jmp 0x479a41
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [esp + 0x108]
push eax
call fcn.00461760
add esp, 0xc
test eax, eax
jne 0x47a876
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x479a53
neg eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], 1
lea ecx, [esp + 0x10]
push ecx
add ebp, esi
inc edi
push ebp
mov dword [esp + 0x4c], edi
call fcn.0048e980
add esp, 8
mov ebx, dword [esp + 0x10]
mov esi, eax
mov ecx, 1
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x20]
jg 0x47a84d
xor eax, eax
cmp bx, 0x2e
mov dword [esp + 0x18], eax
mov dword [esp + 0x6c], eax
jne 0x479ab4
lea eax, [esp + 0x10]
push eax
add ebp, esi
push ebp
mov dword [esp + 0x74], 1
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
mov esi, eax
mov ecx, 1
cmp dword [0x5dd474], ecx
jle 0x479ad3
push 4
and ebx, 0xff
push ebx
call fcn.00582c84
mov ebx, dword [esp + 0x18]
add esp, 8
jmp 0x479ae9
mov edx, dword [str.________________________________H]
mov ecx, ebx
and ecx, 0xff
xor eax, eax
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x479b14
push 0xa
lea eax, [esp + 0x68]
push eax
push ebp
call fcn.0058334f
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
push ecx
push eax
mov ebp, eax
call fcn.0048e980
add esp, 0x14
jmp 0x479b89
cmp bx, 0x2a
jne 0x479b8f
mov edx, dword [esp + 0x10c]
dec edx
cmp edi, edx
jge 0x47a8b2
mov eax, dword [esp + 0x110]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0xc], 0x5b0f90
jne 0x479b46
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
jmp 0x479b64
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [esp + 0x108]
push eax
call fcn.00461760
add esp, 0xc
test eax, eax
jne 0x47a876
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x479b74
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
push ecx
add ebp, esi
inc edi
push ebp
mov dword [esp + 0x4c], edi
call fcn.0048e980
add esp, 8
mov ebx, dword [esp + 0x10]
mov esi, eax
xor edi, edi
cmp bx, 0x68
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x60], edi
jne 0x479bc3
lea edx, [esp + 0x10]
push edx
add ebp, esi
push ebp
mov dword [esp + 0x68], 1
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
mov esi, eax
jmp 0x479c0e
cmp bx, 0x6c
jne 0x479c0e
lea eax, [esp + 0x10]
push eax
add ebp, esi
push ebp
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
cmp bx, 0x6c
mov esi, eax
jne 0x479c06
lea ecx, [esp + 0x10]
push ecx
add ebp, esi
mov edi, 1
push ebp
mov dword [esp + 0x48], edi
call fcn.0048e980
mov ebx, dword [esp + 0x18]
add esp, 8
mov esi, eax
jmp 0x479c0e
mov dword [esp + 0x38], 1
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x44]
add ebp, esi
cmp bx, 0x69
mov dword [esp + 0x108], ebp
mov dword [esp + 0xb4], ebp
mov ebp, dword [edx + eax*4]
mov dword [esp + 0x78], 0xffffffff
jne 0x479c43
mov ebx, 0x64
mov dword [esp + 0x10], ebx
mov eax, ebx
and eax, 0xffff
cmp eax, 0x78
ja case.0x479c5b.6
xor ecx, ecx
mov cl, byte [eax + 0x47a990]
jmp dword [ecx*4 + 0x47a974]
mov eax, dword [esp + 0x6c]
test eax, eax
je case.0x47a05c.90
push ebp
call fcn.00478920
mov ecx, eax
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x78], ecx
jge 0x47a6c6
dec eax
push eax
push 0
push ebp
call fcn.00478a70
mov edx, dword [esp + 0x24]
mov ebp, eax
mov eax, dword [ebp]
add esp, 0xc
inc eax
mov dword [esp + 0x78], edx
mov dword [ebp], eax
mov dword [esp + 0x58], 1
jmp 0x47a6c6
cmp dword [ebp + 0xc], 0x5b0f90
jne 0x479cc9
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xac], eax
jmp 0x479cea
mov edx, dword [esp + 0x100]
lea ecx, [esp + 0xac]
push ecx
push ebp
push edx
call fcn.00461760
add esp, 0xc
test eax, eax
jne 0x47a876
mov ecx, dword [esp + 0xac]
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.0048e880
push eax
lea edx, [esp + 0xbc]
push edx
call fcn.00478830
mov ebp, eax
mov eax, dword [ebp]
add esp, 0x10
inc eax
mov dword [ebp], eax
mov dword [esp + 0x58], 1
jmp 0x47a6c6
test edi, edi
jne 0x47a8c6
mov eax, dword [esp + 0x40]
xor edi, edi
test eax, eax
mov dword [esp + 0x50], edi
je 0x479d7b
mov ecx, dword [esp + 0x100]
lea eax, [esp + 0x90]
push eax
push ebp
push ecx
call fcn.004621a0
add esp, 0xc
test eax, eax
jne 0x47a876
push eax
lea edx, [esp + 0x94]
push edx
call fcn.00489b70
add esp, 8
mov esi, eax
inc esi
neg esi
sbb esi, esi
inc esi
jmp 0x479f60
mov eax, dword [esp + 0x38]
test eax, eax
je 0x479e3a
lea eax, [esp + 0x88]
push eax
push ebp
push 0
call fcn.00461cb0
add esp, 0xc
test eax, eax
je 0x479e11
mov edx, dword [esp + 0x100]
lea ecx, [esp + 0x90]
push ecx
push ebp
push edx
call fcn.004621a0
add esp, 0xc
test eax, eax
jne 0x47a876
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x94]
push 0x40
push ecx
call fcn.00489ba0
lea edx, [esp + 0x9c]
push edx
call fcn.00462160
mov esi, eax
mov edx, dword [esi]
lea eax, [esp + 0x98]
push eax
inc edx
push esi
push 0
mov dword [esi], edx
call fcn.00461cb0
mov ecx, dword [esi]
add esp, 0x1c
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x479e11
push esi
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x8c]
test eax, eax
jg 0x479e33
jl 0x479e29
mov eax, dword [esp + 0x88]
test eax, eax
jae 0x479e33
mov esi, 1
jmp 0x479f60
xor esi, esi
jmp 0x479f60
mov eax, dword [ebp + 0xc]
mov ebx, 0x5b0f90
cmp eax, ebx
jne 0x479e52
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x2c], ebp
jmp 0x479f3d
lea ecx, [esp + 0x2c]
push ecx
push ebp
push 0
call fcn.004618e0
add esp, 0xc
test eax, eax
je 0x479f39
lea edx, [esp + 0x88]
push edx
push ebp
push 0
call fcn.00461cb0
add esp, 0xc
test eax, eax
je 0x479f21
mov ecx, dword [esp + 0x100]
lea eax, [esp + 0x90]
push eax
push ebp
push ecx
call fcn.004621a0
add esp, 0xc
test eax, eax
jne 0x47a876
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x94]
push 0x20
push eax
call fcn.00489ba0
lea ecx, [esp + 0x9c]
push ecx
call fcn.00462160
mov esi, eax
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
add esp, 0x10
inc ecx
cmp eax, ebx
mov dword [esi], ecx
jne 0x479ee4
mov edx, dword [esi + 0x10]
mov dword [esp + 0x2c], edx
jmp 0x479ef4
lea eax, [esp + 0x2c]
push eax
push esi
push 0
call fcn.004618e0
add esp, 0xc
mov ecx, dword [esi]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x479f08
push esi
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x479f2e
mov edi, eax
xor ecx, ecx
mov dword [esp + 0x50], edi
test ax, ax
jmp 0x479f5b
mov eax, dword [esp + 0x88]
mov dword [esp + 0x2c], eax
jmp 0x479f0c
xor edx, edx
test eax, eax
setl dl
mov esi, edx
jmp 0x479f60
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x479f57
xor eax, eax
test bp, bp
setl al
mov edi, ebp
mov dword [esp + 0x50], edi
mov esi, eax
jmp 0x479f60
xor ecx, ecx
test ebp, ebp
setl cl
mov esi, ecx
call fcn.00460c90
mov ebp, eax
mov ecx, dword [ebp]
inc ecx
test esi, esi
mov dword [esp + 0x74], ebp
mov dword [esp + 0x58], 1
mov dword [esp + 0x1c], closesocket
mov dword [ebp], ecx
jne 0x479f96
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x479f96
mov eax, dword [esp + 0x34]
test eax, eax
je 0x479fd9
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x479fa8
mov ebx, dword [esp + 0x10]
cmp bx, 0x64
jne 0x479fdd
test esi, esi
je 0x479fb3
mov eax, 0x5a8420
jmp 0x479fc5
mov eax, dword [esp + 0x28]
test eax, eax
mov eax, 0x5a848c
jne 0x479fc5
mov eax, 0x5ada08
push 1
push eax
push ebp
call fcn.00479080
add esp, 0xc
mov dword [esp + 0x1c], closesocket
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x47a040
mov eax, ebx
and eax, 0xffff
cmp eax, 0x58
je 0x47a021
cmp eax, 0x6f
je 0x479ffd
cmp eax, 0x78
je 0x47a021
jmp 0x47a040
push 1
push 0x5a8f40
push ebp
call fcn.00479080
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add esp, 0xc
dec ecx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jmp 0x47a03c
push 2
push 0x5b3e8c
push ebp
call fcn.00479080
mov eax, dword [esp + 0x28]
add esp, 0xc
sub eax, 2
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x10]
mov edx, ebx
and edx, 0xffff
lea eax, [edx - 0x58]
cmp eax, 0x20
ja case.0x47a05c.90
xor ecx, ecx
mov cl, byte [eax + 0x47aa18]
jmp dword [ecx*4 + 0x47aa0c]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x47a076
movsx edx, di
push edx
call fcn.00461820
jmp 0x47a0b9
mov eax, dword [esp + 0x38]
test eax, eax
je 0x47a098
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
push eax
push ecx
call fcn.00461b80
add esp, 8
jmp 0x47a0bc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x47a0af
lea edx, [esp + 0x90]
push edx
call fcn.00462160
jmp 0x47a0b9
mov eax, dword [esp + 0x2c]
push eax
call fcn.00461820
add esp, 4
mov esi, eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
inc ecx
test eax, eax
mov dword [esi], ecx
je 0x47a0d6
mov eax, dword [esi + 8]
mov dword [esp + 0x24], eax
mov ebx, dword [esi + 4]
jmp 0x47a0ea
lea ecx, [esp + 0x24]
push ecx
push esi
call fcn.00460f00
mov ebx, eax
mov eax, dword [esp + 0x2c]
add esp, 8
cmp byte [ebx], 0x2d
jne 0x47a0f5
dec eax
mov dword [esp + 0x24], eax
inc ebx
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov edi, eax
je 0x47a138
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jge 0x47a12e
sub eax, ecx
add dword [esp + 0x1c], eax
push 1
push 0x5a8f40
push ebp
call fcn.00479080
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
add esp, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x47a10d
mov dword [esp + 0x3c], 0
jmp 0x47a182
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47a182
push ebp
call fcn.00478920
mov ecx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x18]
add esp, 4
cmp ecx, eax
mov dword [esp + 0x24], ecx
jge 0x47a182
sub ecx, eax
add dword [esp + 0x1c], ecx
push 1
push 0x5a8f40
push ebp
call fcn.00479080
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
add esp, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x47a161
cmp edi, dword [esp + 0x1c]
jg 0x47a84d
push edi
push ebx
push ebp
call fcn.00479080
mov ecx, dword [esi]
add esp, 0xc
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x47a6c6
push esi
call fcn.00460cf0
add esp, 4
jmp 0x47a6c6
xor esi, esi
xor edi, edi
cmp bx, 0x75
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], 4
mov dword [esp + 0x5c], 0x10
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], esi
jne 0x47a1e8
mov dword [esp + 0x5c], 0xa
jmp 0x47a1fe
cmp bx, 0x6f
jne 0x47a1fe
mov dword [esp + 0x5c], 8
mov dword [esp + 0x28], 3
cmp dword [esp + 0x60], esi
je 0x47a241
mov eax, dword [esp + 0x50]
mov ecx, eax
and eax, 0xffff
test cx, cx
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
je 0x47a370
mov ebp, dword [esp + 0x5c]
add esi, 1
adc edi, 0
mov eax, ecx
and eax, 0xffff
cdq
idiv ebp
mov ecx, eax
test cx, cx
jne 0x47a225
jmp 0x47a366
cmp dword [esp + 0x38], esi
je 0x47a2a6
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov ecx, eax
mov dword [esp + 0x48], eax
or eax, ebp
mov dword [esp + 0x4c], ebp
je 0x47a36c
mov eax, dword [esp + 0x5c]
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push edx
push eax
push ebp
add esi, 1
push ecx
adc edi, 0
call fcn.005848a0
mov ecx, eax
mov ebp, edx
mov edx, ecx
or edx, ebp
jne 0x47a27a
jmp 0x47a366
cmp dword [esp + 0x40], esi
je 0x47a346
mov eax, dword [esp + 0x90]
cmp eax, esi
je 0x47a370
mov edi, dword [esp + 0x28]
mov esi, eax
lea eax, [esi*8]
sub eax, esi
shl eax, 2
cdq
idiv edi
push 0
mov ecx, 0x1c
mov eax, esi
push 0x1c
or ebp, 0xffffffff
sub ecx, edx
cdq
push edx
push eax
shl ebp, cl
call fcn.00583e70
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
push edx
push eax
push esi
push ecx
call fcn.00583dc0
mov esi, eax
mov eax, dword [esp + 0x90]
mov edi, edx
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + eax*4 - 4]
add esi, 1
adc edi, 0
test eax, ebp
jne 0x47a32e
mov ecx, dword [esp + 0x28]
add esi, 0xffffffff
adc edi, 0xffffffff
shr ebp, cl
test eax, ebp
je 0x47a322
test edi, edi
jg 0x47a84d
jl 0x47a366
cmp esi, 0x7fffffff
ja 0x47a84d
jmp 0x47a366
mov eax, dword [esp + 0x2c]
cmp eax, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
je 0x47a370
add esi, 1
adc edi, 0
xor edx, edx
div dword [esp + 0x5c]
test eax, eax
jne 0x47a356
mov ecx, esi
or ecx, edi
jne 0x47a387
mov ebp, dword [esp + 0x74]
cmp bx, 0x6f
jne 0x47a37e
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x47a38b
mov esi, 1
xor edi, edi
jmp 0x47a38b
mov ebp, dword [esp + 0x74]
call fcn.00460c90
mov ebx, eax
push esi
push ebx
mov dword [esp + 0x40], ebx
call fcn.00478ba0
mov eax, dword [ebx + 4]
add esp, 8
test eax, eax
jne 0x47a3b0
push ebx
call fcn.00460ec0
add esp, 4
mov dword [esp + 0x30], eax
mov ebx, esi
mov eax, esi
mov dword [esp + 0x50], esi
add esi, 0xffffffff
mov ecx, edi
adc edi, 0xffffffff
or eax, ecx
mov dword [esp + 0x74], ebx
je 0x47a4b7
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x48]
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x47a448
mov eax, dword [esp + 0x90]
test eax, eax
je 0x47a448
cmp dword [esp + 0x34], eax
jge 0x47a43a
mov eax, dword [esp + 0x54]
cmp eax, 0x24
jae 0x47a43a
mov edx, dword [esp + 0x9c]
mov ecx, eax
mov eax, dword [esp + 0x34]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.005840b0
mov ecx, dword [esp + 0x34]
or ebx, eax
or dword [esp + 0x4c], edx
mov eax, dword [esp + 0x54]
inc ecx
add eax, 0x1c
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
sub eax, ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
push edx
push eax
push ecx
push ebx
call fcn.00584820
cmp eax, 9
jle 0x47a473
mov edx, dword [esp + 0x30]
add al, 0x57
mov byte [esi + edx], al
jmp 0x47a47c
mov ecx, dword [esp + 0x30]
add al, 0x30
mov byte [esi + ecx], al
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
push edx
push eax
push ecx
push ebx
call fcn.005848a0
mov ebx, eax
mov eax, esi
add esi, 0xffffffff
mov ecx, edi
adc edi, 0xffffffff
or eax, ecx
mov dword [esp + 0x4c], edx
jne 0x47a3e7
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
test eax, eax
mov esi, dword [esp + 0x38]
je 0x47a4d3
lea edx, [esp + 0x90]
push edx
call fcn.004897e0
add esp, 4
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x47a50e
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x47a504
mov ecx, ebx
sub ecx, eax
add dword [esp + 0x1c], ecx
push 1
push 0x5a8f40
push ebp
call fcn.00479080
mov eax, dword [esp + 0x24]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x47a4eb
mov dword [esp + 0x3c], 0
jmp 0x47a54a
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47a54a
push ebp
call fcn.00478920
add ebx, eax
mov eax, dword [esp + 0x18]
add esp, 4
cmp ebx, eax
jge 0x47a54a
mov edx, ebx
sub edx, eax
add dword [esp + 0x1c], edx
push 1
push 0x5a8f40
push ebp
call fcn.00479080
mov eax, dword [esp + 0x20]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x47a531
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x50], eax
jg 0x47a84d
push esi
push ebp
call fcn.00479100
mov ecx, dword [esi]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi], ecx
jg 0x47a6c6
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00460cf0
add esp, 4
jmp 0x47a6c6
mov eax, dword [esp + 0x100]
lea edx, [esp + 0xb8]
push edx
push ebp
push eax
mov ebx, 0x140
call fcn.00461520
add esp, 0xc
test eax, eax
jne 0x47a876
mov eax, dword [esp + 0x70]
test eax, eax
mov byte [esp + 0xc0], 0x25
lea esi, [esp + 0xc1]
je 0x47a5cf
mov byte [esp + 0xc1], 0x2d
lea esi, [esp + 0xc2]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x47a5db
mov byte [esi], 0x23
inc esi
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47a5e7
mov byte [esi], 0x30
inc esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47a5f3
mov byte [esi], 0x20
inc esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47a5ff
mov byte [esi], 0x2b
inc esi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47a625
push eax
push 0x5ab494
push esi
call fcn.005827d9
add esi, eax
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, 0x140
jle 0x47a625
mov ebx, eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x47a65b
mov byte [esi], 0x2e
mov ecx, dword [esp + 0x18]
push ecx
inc esi
push 0x5ab494
push esi
call fcn.005827d9
add esi, eax
mov eax, dword [esp + 0x24]
mov edx, closesocket
sub edx, ebx
add esp, 0xc
cmp eax, edx
jg 0x47a84d
add ebx, eax
mov al, byte [esp + 0x10]
mov byte [esi], al
mov byte [esi + 1], 0
call fcn.00460c90
mov ebp, eax
push ebx
push ebp
mov dword [esp + 0x60], 1
call fcn.00478cf0
add esp, 8
test eax, eax
je 0x47a84d
mov eax, dword [ebp + 4]
test eax, eax
jne 0x47a696
push ebp
call fcn.00460ec0
add esp, 4
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
push ecx
push edx
lea ecx, [esp + 0xc8]
push ecx
push eax
call fcn.005827d9
push eax
push ebp
call fcn.00478cf0
add esp, 0x18
test eax, eax
je 0x47a84d
mov ebx, dword [esp + 0x10]
and ebx, 0xffff
sub ebx, 0x45
je 0x47a6df
sub ebx, 2
je 0x47a6df
sub ebx, 0x11
jne 0x47a6ff
mov eax, dword [ebp + 4]
test eax, eax
jne 0x47a6ef
push ebp
call fcn.00460ec0
add esp, 4
push eax
call fcn.0048ed90
push eax
push ebp
call fcn.00478ba0
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x47a762
mov esi, dword [esp + 0x78]
test esi, esi
jge 0x47a71a
push ebp
call fcn.00478920
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x47a76f
mov eax, dword [esp + 0x14]
cmp esi, eax
jge 0x47a76f
mov edi, dword [esp + 0x104]
mov edx, esi
sub edx, eax
add dword [esp + 0x20], edx
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, 0x5a8f40
jne 0x47a74b
mov eax, 0x5ada08
push 1
push eax
push edi
call fcn.00479080
mov eax, dword [esp + 0x20]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x47a739
jmp 0x47a776
mov edi, dword [esp + 0x104]
mov esi, dword [esp + 0x78]
jmp 0x47a776
mov edi, dword [esp + 0x104]
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.00460f00
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0xb0]
add esp, 8
cmp eax, ebx
jg 0x47a8cd
push ebp
push edi
call fcn.00479100
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x60]
sub ebx, ecx
add esp, 8
test eax, eax
mov dword [esp + 0x20], ebx
je 0x47a7cf
mov ecx, dword [ebp]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebp], ecx
jg 0x47a7cf
push ebp
call fcn.00460cf0
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x47a80c
cmp esi, eax
jge 0x47a80c
mov ecx, esi
sub ecx, eax
add ebx, ecx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x3c]
test ebx, ebx
mov eax, 0x5a8f40
jne 0x47a7f7
mov eax, 0x5ada08
push 1
push eax
push edi
call fcn.00479080
mov eax, dword [esp + 0x20]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x47a7e9
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0xb4]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x108]
add eax, edx
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x20]
cmp byte [ebp], 0
jne 0x4797cb
test ebx, ebx
je 0x47a938
cmp ebx, esi
jle 0x47a926
mov eax, dword [str.max_size_for_a_Tcl_value_exceeded]
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x47a876
push 0xffffffffffffffff
push eax
call fcn.00478830
mov ecx, dword [esp + 0x108]
push eax
push ecx
call fcn.0040c0f0
add esp, 0x10
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x104]
push edx
push eax
call fcn.00478ba0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xec
ret
mov eax, dword [str.cannot_mix_____and___n___conversion_specifiers]
jmp 0x47a852
mov eax, dword [esp + 0x68]
mov eax, dword [eax*4 + 0x5b3cd0]
jmp 0x47a852
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx*4 + 0x5b3cd0]
jmp 0x47a852
mov eax, str.format_string_ended_in_middle_of_field_specifier
jmp 0x47a852
mov eax, str.unsigned_bignum_format_is_invalid
jmp 0x47a852
mov eax, dword [esp + 0x58]
test eax, eax
je 0x47a84d
mov ecx, dword [ebp]
dec ecx
mov eax, ecx
test eax, eax
mov dword [ebp], ecx
jg 0x47a84d
push ebp
call fcn.00460cf0
add esp, 4
jmp 0x47a84d
mov eax, dword [esp + 0x100]
test eax, eax
je 0x47a876
and ebx, 0xffff
push ebx
push str.bad_field_specifier___c_
call fcn.0047ad70
mov edx, dword [esp + 0x108]
push eax
push edx
jmp 0x47a86e
mov ecx, dword [esp + 0x104]
push ebx
push edi
push ecx
call fcn.00479080
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret