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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x5a3576
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x59d614]
mov eax, 0xd0
call fcn.00406118
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov ebx, eax
lea eax, [ebx + 0x94]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 0x3c]
call fcn.00405030
lea eax, [ebx + 0x98]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x94]
call fcn.00405030
xor eax, eax
mov dword [ebx], eax
lea eax, [ebx + 4]
call fcn.00404fdc
lea eax, [ebx + 8]
call fcn.00404fdc
lea eax, [ebx + 0xc]
call fcn.00404fdc
lea eax, [ebx + 0x10]
call fcn.00404fdc
lea eax, [ebx + 0x14]
call fcn.00404fdc
lea eax, [ebx + 0x18]
call fcn.00404fdc
lea eax, [ebx + 0x1c]
call fcn.00404fdc
lea eax, [ebx + 0x20]
call fcn.00404fdc
lea eax, [ebx + 0x24]
call fcn.00404fdc
lea eax, [ebx + 0x28]
call fcn.00404fdc
lea eax, [ebx + 0x2c]
call fcn.00404fdc
lea eax, [ebx + 0x30]
call fcn.00404fdc
lea eax, [ebx + 0x34]
call fcn.00404fdc
lea eax, [ebx + 0x38]
call fcn.00404fdc
lea eax, [ebx + 0x3c]
call fcn.00404fdc
lea eax, [ebx + 0x40]
call fcn.00404fdc
lea eax, [ebx + 0x44]
call fcn.00404fdc
lea eax, [ebx + 0x48]
call fcn.00404fdc
lea eax, [ebx + 0x50]
call fcn.00404fdc
lea eax, [ebx + 0x54]
call fcn.00404fdc
lea eax, [ebx + 0x58]
call fcn.00404fdc
lea eax, [ebx + 0x58]
call fcn.00404fdc
lea eax, [ebx + 0x5c]
call fcn.00404fdc
lea eax, [ebx + 0x60]
call fcn.00404fdc
lea eax, [ebx + 0x64]
call fcn.00404fdc
lea eax, [ebx + 0x68]
call fcn.00404fdc
lea eax, [ebx + 0x6c]
call fcn.00404fdc
lea eax, [ebx + 0x70]
call fcn.00404fdc
lea eax, [ebx + 0x74]
call fcn.00404fdc
lea eax, [ebx + 0x78]
call fcn.00404fdc
lea eax, [ebx + 0x7c]
call fcn.00404fdc
lea eax, [ebx + 0x80]
call fcn.00404fdc
lea eax, [ebx + 0x84]
call fcn.00404fdc
lea eax, [ebx + 0x88]
call fcn.00404fdc
lea eax, [ebx + 0x8c]
call fcn.00404fdc
lea eax, [ebx + 0x9c]
call fcn.00404fdc
lea eax, [ebx + 0x90]
call fcn.00404fdc
lea eax, [ebx + 0xa0]
call fcn.00404fdc
lea eax, [ebx + 0xc0]
call fcn.00404fdc
lea eax, [ebx + 0xa4]
call fcn.00404fdc
lea eax, [ebx + 0xa8]
call fcn.00404fdc
lea eax, [ebx + 0xb8]
call fcn.00404fdc
lea eax, [ebx + 0xb4]
call fcn.00404fdc
lea eax, [ebx + 0xac]
call fcn.00404fdc
lea eax, [ebx + 0xb0]
call fcn.00404fdc
lea eax, [ebx + 0xc8]
call fcn.00404fdc
lea eax, [ebx + 0xc4]
call fcn.00404fdc
lea eax, [ebx + 0xbc]
call fcn.00404fdc
lea eax, [ebx + 0xcc]
call fcn.00404fdc
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x40]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x128], 0
jne 0x5a3176
lea eax, [ebp - 0x10]
call fcn.00404fdc
jmp 0x5a314d
lea ecx, [ebp - 0x28]
or edx, 0xffffffff
mov eax, ebx
call fcn.0059b090
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x10]
call fcn.004052c0
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x5a312f
cmp esi, 0x274c
jne 0x5a313a
mov eax, ebx
call fcn.0059b310
test al, al
jne 0x5a314d
mov edx, dword [0x59d614]
mov eax, dword [ebp - 0xc]
call fcn.0040612c
jmp 0x5a354e
mov edx, dword [ebp - 0x10]
mov eax, 0x5a358c
call fcn.00598ae0
test eax, eax
jne 0x5a31fe
mov eax, dword [ebp - 0x10]
call fcn.004052b8
cmp eax, 0x2000
jl 0x5a3108
jmp 0x5a31fe
call fcn.005994f8
mov edi, eax
mov eax, dword [ebp - 8]
add edi, dword [eax + 0x124]
lea eax, [ebp - 0x10]
call fcn.00404fdc
jmp 0x5a31d5
lea ecx, [ebp - 0x2c]
or edx, 0xffffffff
mov eax, ebx
call fcn.0059b090
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.004052c0
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x5a31b7
cmp esi, 0x274c
jne 0x5a31c2
mov eax, ebx
call fcn.0059b310
test al, al
jne 0x5a31d5
mov edx, dword [0x59d614]
mov eax, dword [ebp - 0xc]
call fcn.0040612c
jmp 0x5a354e
mov edx, dword [ebp - 0x10]
mov eax, 0x5a358c
call fcn.00598ae0
test eax, eax
jne 0x5a31fe
mov eax, dword [ebp - 0x10]
call fcn.004052b8
cmp eax, 0x2000
jge 0x5a31fe
call fcn.005994f8
cmp edi, eax
ja 0x5a3190
mov eax, ebx
call fcn.0059b3ec
test al, al
jne 0x5a3218
mov eax, ebx
call fcn.0059b310
test al, al
jne 0x5a335f
mov edx, dword [0x59d614]
mov eax, dword [ebp - 0xc]
call fcn.0040612c
jmp 0x5a354e
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x5a359c
call fcn.00598ae0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00405518
cmp word [ebx + 0x32], 0
je 0x5a32bb
mov eax, dword [ebp - 0x14]
call fcn.004052b8
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x14]
call fcn.00405510
mov edx, eax
lea ecx, [ebp - 0x20]
mov eax, ebx
call fcn.0059b514
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.00405644
cmp dword [ebp - 0x20], 0
je 0x5a32bb
lea eax, [ebp - 0x14]
call fcn.00405510
mov edx, eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
call fcn.00402edc
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x19]
push eax
mov eax, dword [ebp - 4]
push eax
xor ecx, ecx
mov dl, 3
mov eax, dword [ebx + 0x34]
call dword [ebx + 0x30]
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x12c]
test esi, esi
je 0x5a32ee
mov eax, esi
call fcn.005a1138
test eax, eax
jle 0x5a32ee
mov eax, dword [ebp - 0x14]
call fcn.004052b8
mov ecx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x12c]
mov edx, dword [ebp - 0x14]
call fcn.005a1078
push ebp
mov eax, dword [ebp - 0x14]
call fcn.005a22b4
pop ecx
mov eax, dword [ebp - 0x14]
call fcn.004052b8
mov ecx, eax
add ecx, 2
lea eax, [ebp - 0x10]
mov edx, 1
call fcn.00405558
lea eax, [ebp - 0x30]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00405518
mov eax, dword [ebp - 0x30]
mov edx, 0x5a359c
call fcn.00405404
jne 0x5a335f
mov eax, dword [ebp - 0xc]
add eax, 0xbc
push eax
mov eax, dword [ebp - 0x10]
call fcn.004052b8
mov ecx, eax
mov edx, 3
mov eax, dword [ebp - 0x10]
call fcn.00405518
lea eax, [ebp - 0x10]
call fcn.00404fdc
mov eax, dword [ebp - 0x10]
call fcn.004052b8
test eax, eax
jg 0x5a322b
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x44], 0
jne 0x5a337f
push ebp
call fcn.005a2dcc
pop ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc8]
call fcn.004052b8
mov edx, eax
dec edx
mov eax, dword [ebp - 0xc]
add eax, 0xc8
mov ecx, 2
call fcn.00405558
mov eax, dword [ebp - 0xc]
add eax, 0xc8
mov edx, 0x5a35a8
call fcn.004052c0
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x12c]
test ebx, ebx
je 0x5a33dd
mov eax, ebx
call fcn.005a1138
test eax, eax
jle 0x5a33dd
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x12c]
mov edx, dword [ebp - 0xc]
call fcn.005a10cc
xor eax, eax
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 8]
mov al, byte [eax + 0x128]
mov byte [ebp - 0x21], al
jmp 0x5a3468
mov eax, ebx
mov edx, dword [ebp - 0x18]
call fcn.00422ce8
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0xc]
call fcn.00405404
jne 0x5a3465
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x120]
mov edx, dword [ebp - 0x18]
call fcn.00422ce8
mov eax, dword [eax]
dec eax
jne 0x5a345f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x120]
mov edx, dword [ebp - 0x18]
call fcn.00422ce8
cmp word [eax + 0xa], 0
je 0x5a345f
lea eax, [ebp - 0x21]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x120]
mov edx, dword [ebp - 0x18]
call fcn.00422ce8
mov ebx, eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0xc]
call dword [ebx + 8]
mov byte [ebp - 0x19], 1
jmp 0x5a3468
inc dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x120]
mov eax, dword [ebx + 8]
cmp eax, dword [ebp - 0x18]
jle 0x5a3483
cmp byte [ebp - 0x19], 0
je 0x5a33f4
cmp byte [ebp - 0x19], 0
jne 0x5a34c0
mov eax, dword [ebp - 8]
cmp word [eax + 0x11a], 0
je 0x5a34af
lea eax, [ebp - 0x19]
push eax
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x11c]
call dword [ebx + 0x118]
cmp byte [ebp - 0x19], 0
jne 0x5a34bc
push ebp
call fcn.005a20d4
pop ecx
mov byte [ebp - 0x21], 0
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x12c]
test ebx, ebx
je 0x5a34e6
mov eax, ebx
call fcn.005a1138
test eax, eax
jle 0x5a34e6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x12c]
call fcn.005a10e0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x128], 0
jne 0x5a34f6
mov byte [ebp - 0x21], 0
cmp byte [ebp - 0x21], 0
je 0x5a3501
call fcn.005989f0
cmp byte [ebp - 0x21], 0
je 0x5a351a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0059b310
test al, al
jne 0x5a2efd
mov edx, dword [0x59d614]
mov eax, dword [ebp - 0xc]
call fcn.0040612c
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x12c]
test ebx, ebx
je 0x5a354e
mov eax, ebx
call fcn.005a1138
test eax, eax
jle 0x5a354e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x12c]
call fcn.005a10f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a357d
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00405000
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00405000
ret