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

Disassembly:
push 0xffffffffffffffff
push 0x10251f66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
mov eax, dword [0x102fef40]
mov edx, dword [esp + 0x1c8]
xor eax, esp
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x9c], ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], edx
mov byte [esp + 0x13], bl
call fcn.00483099
mov eax, dword [esi + 0x48]
add eax, 0xa8
lea ecx, [eax + 0x1a8]
mov dword [esp + 0x1c4], ebx
mov byte [esp + 0x12], bl
call fcn.00481cf9
mov ecx, dword [esi + 0x48]
mov edi, eax
mov eax, dword [ecx]
mov ebp, edx
call dword [eax + 0x2c]
cmp edi, eax
jne 0x5577db
cmp ebp, edx
jne 0x5577db
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx + 0x6c]
lea edx, [esp + 0x164]
add ecx, 0x48
push edx
call fcn.005255b1
push eax
lea eax, [esp + 0x184]
push eax
mov byte [esp + 0x1cc], 1
call fcn.004ef059
add esp, 8
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x1c4], 2
jb 0x55779d
mov eax, dword [eax + 4]
jmp 0x5577a0
add eax, 4
push eax
call fcn.00560c19
add esp, 4
lea ecx, [esp + 0x180]
mov bl, al
mov byte [esp + 0x1c4], 1
call dword [0x102763d4]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c4], 0
call dword [0x102763d4]
mov byte [esp + 0x12], bl
xor ebx, ebx
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x6c]
add edx, 0x48
je 0x557f5f
lea ecx, [esp + 0x68]
mov dword [esp + 0x2c], ebx
call fcn.00483099
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp ecx, eax
mov byte [esp + 0x1c4], 3
mov dword [esp + 0x40], ecx
je 0x5581dc
mov eax, ecx
add eax, 0x1c
mov dword [esp + 0x24], eax
mov edi, dword [esi + 0x48]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
push edx
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
push ecx
lea edx, [esp + 0x88]
push edx
lea ecx, [edi + 0x280]
call fcn.004fc369
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x78]
cmp edi, eax
je 0x55788e
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [edi]
cmp ebx, dword [esp + 0x7c]
jne 0x557882
mov ebx, dword [edi + 4]
cmp ebx, dword [esp + 0x80]
jne 0x557882
mov ebx, dword [edi + 8]
cmp ebx, edx
jne 0x557882
mov ebx, dword [edi + 0xc]
cmp ebx, ecx
je 0x55788c
mov ebx, dword [esi + 0x78]
add edi, 0x28
cmp edi, ebx
jne 0x557860
xor ebx, ebx
mov ebp, dword [esp + 0x24]
mov cl, byte [ebp - 8]
test cl, cl
je 0x5578d2
cmp edi, eax
je 0x557e53
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0x7c]
push eax
call fcn.0055bb49
push edi
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esi + 0x70]
call fcn.00556329
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x6c]
call fcn.00483649
jmp 0x557e53
mov edx, dword [esi + 0xac]
inc edx
cmp edi, eax
mov dword [esi + 0xac], edx
jne 0x557977
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 0x78]
cmp ecx, ebx
je 0x557902
call fcn.0054cec3
mov edx, dword [eax]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, eax
call dword [edx + 8]
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0xbc]
call fcn.00567699
push eax
lea ecx, [esi + 0x70]
mov byte [esp + 0x1c8], 4
call fcn.005571e9
mov eax, dword [esp + 0xd4]
cmp eax, ebx
mov byte [esp + 0x1c4], 3
je 0x557940
push eax
call fcn.0049cb9b
add esp, 4
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x6c]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.00483649
mov edi, dword [esi + 0x78]
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x48]
add edi, 0xffffffd8
call fcn.00483649
inc dword [edi + 0x10]
mov eax, dword [ebp]
cmp eax, ebx
jne 0x557985
xor ebp, ebp
jmp 0x5579a1
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 4]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x14]
add ecx, 0xfffffffc
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x1cc], 6
call fcn.00555f99
cmp ebp, 1
mov ebp, dword [esp + 0x18]
jne 0x557a93
cmp ebp, ebx
je 0x557a93
mov eax, dword [esp + 0x1c]
sub eax, ebp
sar eax, 2
cmp eax, 1
jne 0x557a93
mov eax, dword [ebp]
lea edx, [edi + 0x18]
push edx
push eax
mov ecx, esi
call fcn.005543e9
lea ecx, [esp + 0x19c]
call dword [0x102763d0]
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x13c]
mov byte [esp + 0x1c8], 7
call fcn.0048aef9
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [ecx]
push eax
push ecx
mov byte [esp + 0x1cc], 8
call dword [edx + 0x24]
lea ecx, [esp + 0x138]
mov byte [esp + 0x1c4], 7
call fcn.0048a519
lea eax, [esp + 0x19c]
push eax
call fcn.0050a459
add esp, 4
test al, al
je 0x557a7a
mov eax, dword [esi + 0x48]
inc dword [eax + 0x2f0]
lea ecx, [esp + 0x19c]
mov byte [esp + 0x1c4], 6
call dword [0x102763d4]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
cmp ebp, dword [esp + 0x1c]
mov byte [esp + 0x1c4], 9
je 0x557bde
jmp 0x557ab9
mov eax, dword [ebp]
mov ecx, dword [eax]
lea edx, [esp + 0x98]
push edx
push eax
call dword [ecx + 0x18]
mov eax, dword [esp + 0x98]
cmp eax, 0x64
jl 0x557b5a
cmp eax, 0x12b
jg 0x557b5a
mov ebx, dword [ebp]
lea ecx, [esp + 0x164]
call dword [0x102763d0]
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0x110]
mov byte [esp + 0x1c8], 0xa
call fcn.0048aef9
mov ecx, dword [ebx]
push eax
push ebx
mov byte [esp + 0x1cc], 0xb
call dword [ecx + 0x24]
lea ecx, [esp + 0x10c]
mov byte [esp + 0x1c4], 0xa
call fcn.0048a519
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x34]
call fcn.00487a89
lea ecx, [esp + 0x164]
mov byte [esp + 0x1c4], 9
call dword [0x102763d4]
xor ebx, ebx
jmp 0x557bcf
lea ecx, [esp + 0x180]
call dword [0x102763d0]
lea eax, [esp + 0x180]
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x1c8], 0xc
call fcn.0048aef9
mov ecx, dword [ebp]
mov edx, dword [ecx]
push eax
push ecx
mov byte [esp + 0x1cc], 0xd
call dword [edx + 0x24]
lea ecx, [esp + 0xe0]
mov byte [esp + 0x1c4], 0xc
call fcn.0048a519
lea eax, [esp + 0x180]
push eax
lea ecx, [esp + 0x34]
call fcn.00487a89
lea ecx, [esp + 0x180]
mov byte [esp + 0x1c4], 9
call dword [0x102763d4]
mov eax, dword [esp + 0x1c]
add ebp, 4
cmp ebp, eax
jne 0x557ab9
mov ebp, dword [esp + 0x24]
mov ecx, dword [ebp - 0xc]
lea edx, [esp + 0x30]
mov dword [esp + 0xa4], ecx
push edx
lea ecx, [esp + 0xac]
call fcn.004879b9
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0xa4]
push eax
mov byte [esp + 0x1c8], 0xe
call fcn.00557629
lea ecx, [esp + 0xa8]
mov byte [esp + 0x1c4], 9
call fcn.004811c9
mov edx, dword [ebp]
mov eax, dword [ebp + 4]
mov ecx, edx
cmp ecx, eax
je 0x557c40
add ecx, 0x1c
cmp ecx, eax
jne 0x557c39
cmp edx, ebx
je 0x557c65
sub eax, edx
mov ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x28], ecx
jne 0x557d9a
mov ebp, dword [esp + 0x1d0]
lea edx, [esp + 0x14]
push edx
push edi
push ebp
mov ecx, esi
call fcn.00554f19
cmp eax, 0xfffffffb
jne 0x557d22
mov byte [esp + 0x13], 1
mov dword [esp + 0x28], ebx
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push 0x10276ddc
push eax
mov byte [esp + 0x1d0], 0xf
call dword [ecx]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
cmp eax, ecx
je 0x557ceb
mov edx, dword [esp + 0x28]
mov edi, edi
cmp dword [eax], edx
je 0x557cc4
add eax, 4
cmp eax, ecx
jne 0x557cb9
cmp eax, ecx
je 0x557ceb
mov ecx, dword [edi + 0x20]
lea edx, [eax + 4]
sub ecx, edx
sar ecx, 2
shl ecx, 2
push ecx
push edx
push eax
call dword [0x102764f4]
mov eax, dword [edi + 0x20]
add esp, 0xc
add eax, 0xfffffffc
mov dword [edi + 0x20], eax
mov dword [edi + 0x14], 2
mov ebp, dword [edi + 0x10]
dec ebp
push edi
lea ecx, [esp + 0x48]
mov dword [edi + 0x10], ebp
call fcn.00483649
mov eax, dword [esp + 0x28]
cmp eax, ebx
mov byte [esp + 0x1c4], 9
je 0x557e11
mov edx, dword [eax]
push eax
call dword [edx + 8]
jmp 0x557e11
cmp eax, 0xfffffffd
je 0x557f7a
cmp eax, 0xfffffffe
je 0x558013
cmp eax, 0xffffffff
je 0x5580f0
cmp eax, ebx
jne 0x557da1
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0x7c]
push eax
call fcn.0055bb49
push edi
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esi + 0x70]
call fcn.00556329
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x6c]
call fcn.00483649
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
lea ecx, [esp + 0x58]
call fcn.004bb7d9
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c4], 3
call fcn.004bb7d9
jmp 0x557e53
mov ebp, dword [esp + 0x1d0]
mov eax, dword [esi + 0x48]
add eax, 0xa8
lea ecx, [eax + 0x1bc]
call fcn.00502709
cmp eax, ebp
je 0x557dd4
mov eax, dword [esi + 0x48]
add eax, 0xa8
lea ecx, [eax + 0x1bc]
call fcn.00502709
mov ebp, eax
mov dword [esp + 0x1d0], ebp
cmp ebp, 0x64
jne 0x557dde
or eax, 0xffffffff
jmp 0x557df1
cmp ebp, 1
jne 0x557deb
mov eax, dword [esi + 0x84]
jmp 0x557df1
mov eax, dword [esi + 0x80]
cmp dword [edi + 0x10], eax
jb 0x557e0d
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x54], 4
je 0x55814e
mov dword [edi + 0x14], 2
inc dword [esp + 0x2c]
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0x1c4], 3
je 0x557e47
push eax
call fcn.0049cb9b
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 8]
add eax, 0x28
add edi, 0x28
cmp eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], edi
jne 0x557821
cmp dword [esp + 0x2c], ebx
je 0x5581dc
mov edi, dword [esi + 0x78]
mov ebp, dword [esi + 0x74]
mov ecx, edi
sub ecx, ebp
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push ebp
call fcn.005566c9
mov ecx, dword [esi + 0x54]
lea edi, [esi + 0x50]
add esp, 0xc
cmp ecx, ebx
je 0x557efc
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp eax, ebx
je 0x557efc
mov ebp, dword [esp + 0x8c]
mov eax, dword [edi + 8]
mov edx, dword [esi + 0x68]
push ebp
push eax
push ecx
push edx
lea ecx, [esi + 0x60]
call fcn.00553da9
mov ecx, dword [esi + 0x44]
mov edx, dword [ecx]
push edi
call dword [edx + 0x18]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x557ef3
push eax
call fcn.0049cb9b
add esp, 4
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov eax, dword [esp + 0x1d0]
push eax
mov ecx, esi
call fcn.00554529
test al, al
jne 0x5581dc
mov eax, dword [esi + 0x48]
add eax, 0xa8
lea ecx, [eax + 0x1a8]
call fcn.00481cf9
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov al, byte [esp + 0x12]
test al, al
je 0x5581a0
cmp dword [esi + 0xac], 1
jne 0x5581a0
mov byte [esi + 0xa8], 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c4], 0
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
xor eax, eax
jmp 0x55828b
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 0x78]
cmp ecx, ebx
je 0x557f89
call fcn.0054b36e
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x68]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [esi + 0x60]
call fcn.00553da9
mov esi, dword [esi + 0x44]
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call dword [eax + 0x18]
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x557fd8
push eax
call fcn.0049cb9b
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x1c4], 0
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
mov eax, 0xfffffffd
jmp 0x55828b
mov ecx, dword [esi + 0x40]
push 1
call fcn.00531dc9
cmp eax, ebx
je 0x55807b
push eax
mov ecx, esi
call fcn.00556f29
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
lea ecx, [esp + 0x58]
call fcn.004bb7d9
lea ecx, [esp + 0x14]
call fcn.004bb7d9
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c4], 0
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
mov eax, 0xfffffffe
jmp 0x55828b
mov al, byte [esp + 0x12]
test al, al
je 0x5580bb
cmp dword [esi + 0xac], 1
jne 0x5580bb
lea ecx, [esp + 0x30]
mov byte [esi + 0xa8], 1
mov byte [esp + 0x1c4], 6
call fcn.004811c9
lea ecx, [esp + 0x58]
call fcn.004bb7d9
lea ecx, [esp + 0x14]
call fcn.004bb7d9
jmp 0x557f4e
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x44]
push edx
call fcn.0055ae49
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
lea ecx, [esp + 0x58]
call fcn.004bb7d9
lea ecx, [esp + 0x14]
call fcn.004bb7d9
jmp 0x5581ad
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0xc]
push eax
mov ecx, esi
call fcn.00556f29
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
lea ecx, [esp + 0x58]
call fcn.004bb7d9
lea ecx, [esp + 0x14]
call fcn.004bb7d9
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c4], 0
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
or eax, 0xffffffff
jmp 0x55828b
mov al, byte [esp + 0x12]
test al, al
je 0x558163
cmp dword [esi + 0xac], 1
je 0x55808c
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 0x48]
call fcn.0055ae49
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c4], 6
call fcn.004811c9
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x558192
push eax
call fcn.0049cb9b
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jmp 0x5581ad
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0x44]
push eax
call fcn.0055ae49
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c4], 0
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
mov eax, 0xfffffffc
jmp 0x55828b
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 0x48]
call fcn.0055ae49
lea ecx, [esp + 0x68]
call fcn.00481939
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x55823a
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 4
cmp eax, ebx
je 0x55823a
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.0048b369
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x98]
mov edx, dword [eax]
add esp, 8
push ecx
mov ecx, dword [esp + 0x90]
push ecx
push eax
call dword [edx + 0x68]
mov al, byte [esp + 0x13]
test al, al
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c4], 0
je 0x55826e
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
mov eax, 0xfffffffb
jmp 0x55828b
call fcn.004830b9
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c4], 0xffffffff
call fcn.004830b9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x1ac]
pop ebx
xor ecx, esp
call fcn.0049cbf9
add esp, 0x1b8
ret 0x10