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

Disassembly:
push 0xffffffffffffffff
push 0x522adb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
mov eax, dword [0x57373c]
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x10], eax
mov ecx, 0x41
mov edx, 0x14
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xd0]
mov eax, 0xc8
mov dword [esp + 0x14], ecx
push 0x160
mov ecx, 0x595e30
mov dword [esp + 0xc0], 0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0x140
mov dword [esp + 0x8c], 0x1b8
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0x154
mov dword [esp + 0x6c], 0x168
mov dword [esp + 0x70], 0x195
mov dword [esp + 0x74], 0x21c
mov dword [esp + 0x78], 0x2a8
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc4]
push 0x8c
push edx
push eax
push 0
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x4c86fd
push 0x355
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0x78
push ecx
push edx
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.004f3349
mov ecx, dword [esi + 0x4e]
push edi
lea eax, [esp + 0x90]
push 0
push eax
call fcn.004469b0
mov ecx, eax
mov edx, dword [ecx]
mov dword [esp + 0x34], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + 0xc]
push eax
mov cl, byte [ecx + 0x10]
mov byte [esp + 0x48], cl
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
lea edx, [esp + 0x14]
push 0x14
push edx
mov ecx, esi
call fcn.004cbdb0
cmp edi, 8
jne 0x4c865d
push 0x363
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
cmp byte [esp + 0x44], 7
jne 0x4c8681
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0x78
push eax
push ecx
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
mov dword [esp + 0x14], eax
jmp 0x4c869a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0
push 0
push edx
push eax
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
lea ecx, [esp + 0x10]
call fcn.004f3349
mov ecx, dword [esi + 0x4e]
push edi
push 0
call fcn.004445e0
test eax, eax
je 0x4c86c2
lea ecx, [esp + 0x10]
push edi
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.00443e90
jmp 0x4c86d0
push str.______________
lea ecx, [esp + 0x14]
call fcn.004f3547
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0
push 1
push edx
push eax
push 0x15e
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
inc edi
cmp edi, 0xa
jl 0x4c85e0
mov edi, dword [esp + 0xcc]
mov ecx, dword [esi + 0x8e]
cmp word [ecx + 0x2c], 1
jne 0x4c8718
lea edx, [esp + 0x14]
push 0x14
push edx
mov ecx, esi
call fcn.004cbdb0
mov ecx, 0x595c78
call fcn.004b4010
test eax, eax
jne 0x4c8738
mov ecx, 0x595c78
call fcn.004b4060
test eax, eax
je 0x4c8a11
test edi, edi
jne 0x4c874e
mov eax, dword [esi + 0x8e]
cmp word [eax + 0x2c], 1
je 0x4c8768
jmp 0x4c8a11
cmp edi, 1
jne 0x4c8a11
mov ecx, dword [esi + 0x8e]
cmp word [ecx + 0x2c], 2
jne 0x4c8a11
push 0x356
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0x78
push edx
push eax
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
xor edi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
lea ecx, [esp + 0x10]
call fcn.004f3349
push edi
lea ecx, [esp + 0xa4]
push 1
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.004469b0
mov edx, eax
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0xc]
push eax
mov cl, byte [edx + 0x10]
mov byte [esp + 0x48], cl
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
lea edx, [esp + 0x14]
push 0x14
push edx
mov ecx, esi
call fcn.004cbdb0
mov al, byte [esp + 0x44]
cmp al, 7
jne 0x4c8829
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0x78
push eax
push ecx
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
mov dword [esp + 0x14], eax
jmp 0x4c89fc
cmp al, 6
jne 0x4c897e
test edi, edi
jne 0x4c89fc
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], edx
jmp 0x4c884b
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
call fcn.004f3349
push edi
push 0
lea ecx, [esp + 0x94]
push 1
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.00446a30
mov edx, eax
mov eax, dword [edx]
push eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x54], ecx
mov ecx, 0x595e30
mov edx, dword [edx + 0xc]
mov dword [esp + 0x58], edx
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + edi*4 + 0x78]
push 0
push 0
push ecx
push edx
push eax
push ebp
push ebx
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.004cbf50
test edi, edi
mov dword [esp + 0x14], eax
jne 0x4c88dd
push 2
push 0x1b8
add eax, 4
push 0x14
push eax
push ebp
push ebx
mov ecx, esi
call fcn.004cbe20
xor edi, edi
lea ecx, [esp + 0x10]
call fcn.004f3349
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4c8926
mov ecx, dword [esi + 0x4e]
push 0
push 1
call fcn.004445e0
test eax, eax
je 0x4c8916
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
dec eax
push eax
push edi
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.004464e0
jmp 0x4c893c
push str.______________
lea ecx, [esp + 0x14]
call fcn.004f3547
jmp 0x4c893c
lea edx, [edi + 1]
lea eax, [esp + 0x10]
push edx
push 0x563178
push eax
call fcn.004f0a68
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push 0
push 1
push ecx
push edx
push eax
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
inc edi
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x4c88df
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x4c8847
mov edi, dword [esp + 0x1c]
jmp 0x4c89fc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push 0
push ecx
push edx
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
lea ecx, [esp + 0x10]
call fcn.004f3349
mov ecx, dword [esi + 0x4e]
push edi
push 1
call fcn.004445e0
test eax, eax
je 0x4c89bf
mov ecx, dword [esi + 0x4e]
lea eax, [esp + 0x10]
push edi
push eax
call fcn.004441d0
jmp 0x4c89cd
push str.______________
lea ecx, [esp + 0x14]
call fcn.004f3547
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push 1
push ecx
push edx
push 0x15e
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
cmp edi, 9
jne 0x4c89fc
lea eax, [esp + 0x14]
push 0x14
push eax
mov ecx, esi
call fcn.004cbdb0
inc edi
cmp edi, 0xd
mov dword [esp + 0x1c], edi
jl 0x4c87a2
mov edi, dword [esp + 0xcc]
mov ecx, 0x595c78
call fcn.004b4010
test eax, eax
jne 0x4c8a2d
mov ecx, 0x595c78
call fcn.004b4060
test eax, eax
je 0x4c8a51
cmp edi, 1
jne 0x4c8a40
mov ecx, dword [esi + 0x8e]
cmp word [ecx + 0x2c], di
je 0x4c8a93
jmp 0x4c8a51
cmp edi, 2
jne 0x4c8a51
mov edx, dword [esi + 0x8e]
cmp word [edx + 0x2c], di
je 0x4c8a93
mov ecx, 0x595c78
call fcn.004b4030
test eax, eax
je 0x4c8c62
test edi, edi
jne 0x4c8a79
mov eax, dword [esi + 0x8e]
cmp word [eax + 0x2c], 1
je 0x4c8a93
jmp 0x4c8c62
cmp edi, 1
jne 0x4c8c62
mov ecx, dword [esi + 0x8e]
cmp word [ecx + 0x2c], 2
jne 0x4c8c62
push 0x357
mov ecx, 0x595e30
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0x78
push edx
push eax
push 0x14
push ebp
push ebx
mov ecx, esi
call fcn.004c4a20
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
xor edi, edi
mov dword [esp + 0x18], edi
jmp 0x4c8add
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ecx
add edx, edi
push 0x14
push eax
mov ecx, esi
mov dword [esp + 0x28], edx
call fcn.004cbdb0
lea ecx, [esp + 0x10]
call fcn.004f3349
push edi
push 0
lea ecx, [esp + 0x94]
push 2
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.00446a30
mov edx, eax
mov eax, dword [edx]
push eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x54], ecx
mov ecx, 0x595e30
mov edx, dword [edx + 0xc]
mov dword [esp + 0x58], edx
call fcn.004044e0
push eax
lea ecx, [esp + 0x14]
call fcn.004f3547
movsx edi, word [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
shl edi, 2
push 0
push 0
mov eax, dword [esp + edi + 0x60]
push ecx
push edx
push eax
push ebp
push ebx
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.004cbf50
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
test ecx, ecx
jne 0x4c8b96
mov ecx, dword [esp + edi + 0x64]
mov edx, dword [esp + 0x30]
push 2
push ecx
add eax, 4
push edx
push eax
push ebp
push ebx
mov ecx, esi
call fcn.004cbe20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
dec eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
lea edi, [ecx + edx]
lea ecx, [esp + 0x10]
call fcn.004f3349
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4c8bdc
movsx eax, di
inc eax
lea ecx, [esp + 0x10]
push eax
push 0x563178
push ecx
call fcn.004f0a68
add esp, 0xc
jmp 0x4c8bf2
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
movsx eax, di
push edx
push eax
push ecx
mov ecx, dword [esi + 0x4e]
call fcn.00446720
mov eax, dword [esp + 0x20]
push 0
test eax, eax
jne 0x4c8c00
push 2
jmp 0x4c8c02
push 1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push ebp
push ebx
mov ecx, esi
call fcn.004cbf50
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, 0x10
mov dword [esp + 0x2c], eax
jl 0x4c8ba7
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 3
mov dword [esp + 0x18], eax
jl 0x4c8ad9
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add eax, 4
add edx, 0x10
cmp ax, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
jl 0x4c8ad1
lea ecx, [esp + 0x10]
mov dword [esp + 0xbc], 0xffffffff
call fcn.004f33be
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0xb0
ret 0x10