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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x74
call fcn.0058fe10
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax], 0x32
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x68]
xor esi, esi
lea eax, [edi + 0x164]
mov dword [edi + 0x160], esi
mov dword [eax], 0xffffffff
mov dword [ecx + 0x344], esi
mov edx, dword [edi + 0x68]
push 0x76f
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x348]
push 0x5ffd78
push eax
mov dword [esp + 0x20], esi
call fcn.004c5910
mov ecx, dword [edi + 0x68]
mov dword [ecx + 0x348], esi
mov edx, dword [edi + 0x68]
mov dword [edx + 0x34c], esi
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 0x350]
push 0x772
push 0x5ffd78
push ecx
call fcn.004c5910
mov edx, dword [edi + 0x68]
mov dword [edx + 0x350], esi
mov eax, dword [edi + 0x68]
mov dword [eax + 0x354], esi
mov esi, dword [ebp + 0xc]
add esp, 0x18
test byte [edi + 0x12c], 0x40
je 0x578292
mov ecx, esi
mov ebx, edi
call fcn.00574e10
mov ecx, dword [edi + 0x68]
mov edx, dword [ecx + 0x268]
push 0x780
push 0x5ffd78
push edx
call fcn.004c5910
mov ecx, dword [edi + 0x68]
xor eax, eax
mov dword [ecx + 0x268], eax
mov edx, dword [edi + 0x1fc]
lea ebx, [edi + 0x1fc]
push 0x785
push 0x5ffd78
push edx
mov dword [edi + 0x1e4], eax
mov dword [esp + 0x30], ebx
call fcn.004c5910
add esp, 0x18
mov dword [ebx], 0
mov dword [edi + 0x1cc], 0
cmp dword [esi + 4], 0
je 0x578945
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 2
jb 0x57833b
movzx ebx, byte [eax]
movzx ecx, byte [eax + 1]
shl ebx, 8
or ecx, ebx
sub edx, 2
add eax, 2
cmp edx, ecx
jb 0x57833b
mov ebx, eax
add eax, ecx
sub edx, ecx
jne 0x57833b
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esp + 0x28], ebx
call fcn.00574350
test eax, eax
jne 0x578347
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
cmp edx, 2
jb 0x578931
mov ecx, dword [esp + 0x28]
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 8
add ecx, 2
sub edx, 2
or esi, eax
mov dword [esp + 0x78], ecx
cmp edx, 2
jb 0x57833b
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
shl eax, 8
or eax, ebx
sub edx, 2
add ecx, 2
cmp edx, eax
jb 0x57833b
mov ebx, ecx
add ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x154]
sub edx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5783bb
mov edx, dword [edi + 0x158]
push edx
push eax
push ebx
push esi
push 0
push edi
call ecx
add esp, 0x18
cmp esi, 0xff01
jne 0x5783ea
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.0058cd70
add esp, 0xc
test eax, eax
je 0x57833b
mov dword [esp + 0x14], 1
jmp 0x578347
cmp dword [edi], 0x300
je 0x578347
test esi, esi
jne 0x5784f8
lea ebx, [esp + 0x30]
lea esi, [esp + 0x20]
call fcn.00573710
test eax, eax
je 0x57833b
cmp dword [esp + 0x34], 0
je 0x57833b
mov eax, dword [esp + 0x30]
movzx ecx, byte [eax]
dec dword [esp + 0x34]
inc eax
mov dword [esp + 0x30], eax
test ecx, ecx
jne 0x57833b
lea ebx, [esp + 0x38]
lea esi, [esp + 0x30]
call fcn.00573710
test eax, eax
je 0x57833b
cmp dword [edi + 0x78], 0
jne 0x5784a7
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x5788e1
mov edx, dword [esp + 0x38]
push eax
push 0
push edx
call fcn.0058fdd2
add esp, 0xc
test eax, eax
jne 0x5788f3
mov esi, dword [edi + 0xf0]
add esi, 0xc4
mov edi, ebx
call fcn.005736a0
test eax, eax
je 0x57891f
mov eax, dword [ebp + 8]
mov dword [eax + 0x160], 1
mov edi, eax
jmp 0x578347
mov ecx, dword [edi + 0xf0]
mov edx, dword [ecx + 0xc4]
test edx, edx
je 0x5784eb
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5784c0
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.005735e0
add esp, 8
test eax, eax
je 0x5784eb
mov eax, 1
mov dword [edi + 0x160], eax
jmp 0x578347
xor eax, eax
mov dword [edi + 0x160], eax
jmp 0x578347
cmp esi, 0xc
jne 0x578551
lea ebx, [esp + 0x40]
lea esi, [esp + 0x20]
call fcn.005736e0
test eax, eax
je 0x57833b
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push 0
push eax
call fcn.0058fdd2
add esp, 0xc
test eax, eax
jne 0x57833b
mov esi, dword [esp + 0x18]
mov edi, ebx
call fcn.005736a0
test eax, eax
jne 0x578344
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xb
jne 0x5785b5
lea ebx, [esp + 0x58]
lea esi, [esp + 0x20]
call fcn.005736e0
test eax, eax
je 0x57833b
cmp dword [esp + 0x5c], 0
je 0x57833b
cmp dword [edi + 0x78], 0
jne 0x578347
mov edi, dword [edi + 0xf0]
lea ecx, [edi + 0xc8]
push ecx
add edi, 0xcc
call fcn.00573640
add esp, 4
test eax, eax
jne 0x578344
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xa
jne 0x578615
lea ebx, [esp + 0x60]
lea esi, [esp + 0x20]
call fcn.00573710
test eax, eax
je 0x57833b
mov eax, dword [esp + 0x64]
test eax, eax
je 0x57833b
test al, 1
jne 0x57833b
cmp dword [edi + 0x78], 0
jne 0x578347
mov edi, dword [edi + 0xf0]
lea edx, [edi + 0xd0]
push edx
add edi, 0xd4
call fcn.00573640
add esp, 4
test eax, eax
je 0x57891f
jmp 0x578344
cmp esi, 0x23
jne 0x578657
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x578347
mov ecx, dword [edi + 0x1b0]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push ecx
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x578347
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xd
jne 0x5786a3
lea ebx, [esp + 0x68]
lea esi, [esp + 0x20]
call fcn.00573710
test eax, eax
je 0x57833b
mov eax, dword [esp + 0x6c]
test al, 1
jne 0x57833b
test eax, eax
je 0x57833b
cmp dword [edi + 0x78], 0
jne 0x578347
mov edx, dword [esp + 0x68]
push eax
push edx
push edi
call fcn.005763b0
add esp, 0xc
jmp 0x578337
cmp esi, 5
jne 0x57880d
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00573610
add esp, 8
test eax, eax
je 0x57833b
cmp dword [esi], 1
jne 0x578802
lea ebx, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.00586550
test eax, eax
je 0x57833b
mov ecx, dword [edi + 0x184]
push fcn.004c7200
push ecx
call fcn.004bf9d0
mov esi, dword [esp + 0x5c]
add esp, 8
test esi, esi
jbe 0x578715
call fcn.004bf8c0
mov dword [edi + 0x184], eax
test eax, eax
je 0x5785a3
jmp 0x57871f
mov dword [edi + 0x184], 0
test esi, esi
jbe 0x578795
lea ebx, [esp + 0x48]
lea esi, [esp + 0x50]
call fcn.00586550
test eax, eax
je 0x57833b
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x57833b
mov edx, dword [esp + 0x48]
push ebx
lea eax, [esp + 0x10]
push eax
push 0
mov dword [esp + 0x18], edx
call fcn.004c71c0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x57833b
mov ecx, dword [esp + 0x48]
add ebx, ecx
push esi
cmp dword [esp + 0x10], ebx
jne 0x578905
mov eax, dword [edi + 0x184]
push eax
call fcn.004bf5b0
add esp, 8
test eax, eax
je 0x578916
cmp dword [esp + 0x54], 0
ja 0x578723
lea ebx, [esp + 0x70]
lea esi, [esp + 0x20]
call fcn.00573710
test eax, eax
je 0x57833b
mov esi, dword [esp + 0x74]
test esi, esi
jbe 0x578347
mov edx, dword [edi + 0x188]
mov ebx, dword [esp + 0x70]
push fcn.004e3900
push edx
mov dword [esp + 0x18], ebx
call fcn.004bf9d0
push esi
lea eax, [esp + 0x1c]
push eax
push 0
call fcn.004e3920
add esp, 0x14
mov dword [edi + 0x188], eax
test eax, eax
je 0x57833b
add esi, ebx
cmp dword [esp + 0x10], esi
je 0x578347
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0xffffffff
jmp 0x578347
cmp esi, 0x3374
jne 0x578830
mov eax, dword [edi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x578857
mov dword [eax + 0x344], 1
jmp 0x578347
cmp esi, 0x10
jne 0x578857
mov ecx, dword [edi + 0x68]
cmp dword [ecx + 0x180], 0
jne 0x578857
mov edx, dword [ebp + 0x10]
push edx
push edi
lea ecx, [esp + 0x28]
call fcn.00574c50
add esp, 8
jmp 0x578337
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x64]
test byte [ecx + 0x34], 8
je 0x578898
push edi
call fcn.0058c7b0
add esp, 4
test eax, eax
je 0x578898
cmp esi, 0xe
jne 0x578898
mov edx, dword [ebp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
push edi
call fcn.0058c8d0
add esp, 0xc
test eax, eax
je 0x578347
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x16
jne 0x5788ac
mov dword [edi + 0x1e4], 1
jmp 0x578347
cmp dword [edi + 0x78], 0
jne 0x578347
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
push esi
push 1
push edi
call fcn.00579830
add esp, 0x18
test eax, eax
jg 0x578347
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004c7200
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.004c7200
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
jne 0x5785a3
cmp dword [esp + 0x14], 0
jne 0x57898a
cmp dword [edi + 0x1e8], 0
je 0x57898a
test dword [edi + 0x12c], 0x40000
jne 0x57898a
mov eax, dword [ebp + 0x10]
push 0x902
push 0x5ffd78
push 0x152
push 0x140
push 0x14
mov dword [eax], 0x28
call fcn.004c0330
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret