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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 8]
push edi
xor ebp, ebp
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ebp
call fcn.005510c0
mov eax, dword [esi + 0xc]
cmp eax, ebp
je 0x550485
mov ecx, dword [esp + 0x78]
mov dword [ecx], eax
lea ecx, [esp + 0x48]
mov dword [esi + 0xc], ebp
call fcn.00551120
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x13]
push eax
lea ecx, [esp + 0x4c]
mov dword [edx], ebp
call fcn.00550d30
cmp byte [eax], 0
je 0x550b0b
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], connect
mov edx, dword [ecx]
push 0x20
mov esi, ecx
call dword [edx + 0x14]
mov eax, dword [esi]
push 0x20
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call dword [eax + 8]
mov edi, eax
cmp edi, ebp
je 0x5505b9
jmp 0x5504e0
cmp byte [esp + 0x54], 0x3c
jne 0x550581
cmp edi, 2
jl 0x5505f1
cmp edi, 4
jl 0x550521
push 3
lea edx, [esp + 0x59]
push edx
push 0x65fde0
call fcn.0054d720
add esp, 0xc
test eax, eax
jne 0x550521
push ebp
push esi
push 0x20
push edi
lea ebx, [esp + 0x64]
call fcn.005500f0
jmp 0x550593
cmp dword [esp + 0x28], ebp
je 0x550566
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
xor ecx, ecx
cmp edx, ebp
jle 0x550558
lea esp, [esp]
mov al, byte [ecx + edi]
cmp al, 0x20
je 0x550553
cmp al, 9
je 0x550553
cmp al, 0xa
je 0x550553
cmp al, 0xd
jne 0x550558
inc ecx
cmp ecx, edx
jl 0x550540
cmp ecx, edx
jne 0x550629
mov dword [esp + 0x28], ebp
jmp 0x550598
cmp byte [esp + 0x55], 0x3f
lea ebx, [esp + 0x54]
jne 0x5506de
push ebp
push esi
push 0x20
push edi
call fcn.005500f0
jmp 0x550593
lea ecx, [esp + 0x24]
push ecx
push esi
push 0x20
push edi
lea ebx, [esp + 0x64]
call fcn.005501a0
add esp, 0x10
xor ebp, ebp
mov edx, dword [esi]
push 0x20
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esi]
push 0x20
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call dword [eax + 8]
mov edi, eax
cmp edi, ebp
jne 0x5504e0
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x5505d9
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x550611
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov ecx, dword [esp + 0x2c]
and ecx, 0x7fffffff
cmp edx, ecx
jne 0x55064e
lea edx, [esp + 0x24]
push 1
push edx
call fcn.0054d2c0
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
add esp, 8
mov byte [edx + edi], 0
mov edi, dword [esp + 0x28]
mov ecx, dword [0x9617f0]
inc edi
push 1
mov dword [esp + 0x2c], edi
mov eax, dword [ecx]
push 0x10
call dword [eax + 0x10]
mov esi, eax
mov word [esi + 4], 0x10
mov eax, dword [esp + 0x24]
cmp eax, ebp
mov ebx, eax
je 0x55069d
push eax
call fcn.0054d7d0
mov ebp, eax
push ebp
call fcn.0054d920
mov edi, eax
add edi, 0xc
inc ebp
push ebp
push ebx
push edi
call fcn.0054d810
add esp, 0x14
jmp 0x5506a8
inc dword [0x96182c]
mov edi, 0x961830
mov eax, dword [esp + 0x78]
mov dword [esi + 8], 3
mov dword [esi], vtable.hkXmlParser::Characters.0
mov edx, dword [edi - 4]
lea ecx, [edi - 0xc]
inc edx
mov dword [ecx + 8], edx
lea edx, [ecx + 0xc]
mov dword [esi + 0xc], edx
mov dword [eax], esi
dec dword [ecx + 8]
jns 0x550c2f
call fcn.0054d900
jmp 0x550c2f
lea ecx, [esp + 0x30]
push ecx
push esi
push 0x20
push edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], connect
call fcn.005500f0
mov eax, dword [esp + 0x44]
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
jne 0x550761
mov eax, dword [esp + 0x38]
test eax, eax
js 0x550729
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x550749
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov ecx, dword [esp + 0x38]
and ecx, 0x7fffffff
cmp eax, ecx
jne 0x550782
lea edx, [esp + 0x30]
push 1
push edx
call fcn.0054d2c0
mov eax, dword [esp + 0x3c]
add esp, 8
mov ecx, dword [esp + 0x30]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x34]
inc eax
push ecx
mov dword [esp + 0x38], eax
mov eax, esp
mov byte [eax], 1
mov eax, dword [esp + 0x34]
push eax
push eax
call fcn.0054fb80
add esp, 0xc
cmp eax, 0xffffffff
jne 0x550804
mov eax, dword [esp + 0x38]
test eax, eax
js 0x5507cc
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x5507ec
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov ecx, dword [esp + 0x30]
mov edi, eax
mov dword [esp + 0x34], edi
mov bl, byte [ecx + 1]
mov dl, 0x2f
cmp bl, dl
jne 0x55089c
lea edi, [ecx + 2]
cmp edi, ebp
je 0x550847
push edi
call fcn.0054d7d0
mov ebx, eax
push ebx
call fcn.0054d920
mov esi, eax
add esi, 0xc
inc ebx
push ebx
push edi
push esi
mov dword [esp + 0x28], esi
call fcn.0054d810
add esp, 0x14
jmp 0x55085b
mov eax, dword [0x96182c]
inc eax
mov esi, 0x961830
mov dword [0x96182c], eax
mov dword [esp + 0x14], esi
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 1
push 0x10
call dword [edx + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
mov word [eax + 4], 0x10
call fcn.0054fcf0
mov edx, dword [esp + 0x78]
mov dword [edx], eax
mov eax, dword [esi - 4]
lea ecx, [esi - 0xc]
dec eax
mov dword [ecx + 8], eax
jns 0x550c0f
call fcn.0054d900
jmp 0x550c0f
cmp byte [eax + ecx - 1], dl
sete dl
test dl, dl
mov byte [esp + 0x1c], dl
je 0x5508b2
lea edi, [eax - 1]
mov dword [esp + 0x34], edi
xor esi, esi
cmp edi, ebp
jle 0x5508c3
cmp byte [esi + ecx], 0x20
je 0x5508c3
inc esi
cmp esi, edi
jl 0x5508b8
cmp esi, edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], connect
je 0x5509bf
lea edx, [esp + 0x3c]
push edx
lea eax, [esi + ecx]
call fcn.0054ff30
add esp, 4
cmp eax, 1
jne 0x5509b3
mov eax, dword [esp + 0x40]
xor edi, edi
cmp eax, ebp
jle 0x550938
mov edi, edi
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edi*8 + 4]
lea esi, [eax + edi*8]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x55091c
call fcn.0054d900
mov ecx, dword [esi]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x55092f
call fcn.0054d900
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x550900
mov eax, dword [esp + 0x44]
test eax, eax
js 0x55095b
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
and eax, 0x7fffffff
push 0x12
shl eax, 3
push eax
mov eax, dword [esp + 0x44]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x55097b
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x55099b
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov ecx, dword [esp + 0x30]
mov byte [esi + ecx], 0
mov dword [esp + 0x34], esi
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 1
push 0x1c
call dword [edx + 0x10]
mov ebx, eax
mov word [ebx + 4], 0x1c
mov esi, dword [esp + 0x30]
inc esi
cmp esi, ebp
je 0x550a04
push esi
call fcn.0054d7d0
mov ebp, eax
push ebp
call fcn.0054d920
mov edi, eax
add edi, 0xc
inc ebp
push ebp
push esi
push edi
mov dword [esp + 0x28], edi
call fcn.0054d810
add esp, 0x14
jmp 0x550a18
mov eax, dword [0x96182c]
inc eax
mov edi, 0x961830
mov dword [0x96182c], eax
mov dword [esp + 0x14], edi
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.00550310
mov esi, eax
mov eax, dword [edi - 4]
lea ecx, [edi - 0xc]
dec eax
mov dword [esp + 0x20], esi
mov dword [ecx + 8], eax
jns 0x550a3b
call fcn.0054d900
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esi + 0x10]
call fcn.0054fdb0
mov al, byte [esp + 0x1c]
test al, al
je 0x550ba1
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x550b23
mov eax, dword [esp + 0x40]
xor edi, edi
test eax, eax
jle 0x550aa8
lea ecx, [ecx]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edi*8 + 4]
lea esi, [eax + edi*8]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x550a8c
call fcn.0054d900
mov ecx, dword [esi]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x550a9f
call fcn.0054d900
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x550a70
mov eax, dword [esp + 0x44]
test eax, eax
js 0x550acb
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
and eax, 0x7fffffff
push 0x12
shl eax, 3
push eax
mov eax, dword [esp + 0x44]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x550aeb
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x550b0b
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x12
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 4
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 1
push 0x10
call dword [edx + 0x10]
mov ebx, eax
mov word [ebx + 4], 0x10
mov eax, dword [esp + 0x30]
test eax, eax
mov ebp, eax
je 0x550b69
push eax
call fcn.0054d7d0
mov edi, eax
push edi
call fcn.0054d920
mov esi, eax
add esi, 0xc
inc edi
push edi
push ebp
push esi
mov dword [esp + 0x28], esi
call fcn.0054d810
add esp, 0x14
jmp 0x550b7d
mov eax, dword [0x96182c]
inc eax
mov esi, 0x961830
mov dword [0x96182c], eax
mov dword [esp + 0x14], esi
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0054fcf0
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov eax, dword [esi - 4]
lea ecx, [esi - 0xc]
dec eax
mov dword [ecx + 8], eax
jns 0x550ba1
call fcn.0054d900
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x20]
mov dword [eax], edx
mov eax, dword [esp + 0x40]
xor edi, edi
test eax, eax
jle 0x550bec
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + edi*8]
mov ecx, dword [esi + 4]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x550bd0
call fcn.0054d900
mov ecx, dword [esi]
mov eax, dword [ecx - 4]
sub ecx, 0xc
dec eax
mov dword [ecx + 8], eax
jns 0x550be3
call fcn.0054d900
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x550bb5
mov eax, dword [esp + 0x44]
test eax, eax
js 0x550c0f
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
and eax, 0x7fffffff
push 0x12
shl eax, 3
push eax
mov eax, dword [esp + 0x44]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x550c2f
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
and eax, 0x7fffffff
push 0x12
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x550c4f
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
and eax, 0x7fffffff
push 0x12
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x48]
call fcn.00551120
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret 4