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

Disassembly:
push 0xffffffffffffffff
push 0x569b9f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
push ebx
push ebp
mov dword [esp + 0x6c], ecx
push esi
push edi
lea ecx, [esp + 0x78]
call fcn.00534d70
xor ebp, ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x19c], ebp
call fcn.00531800
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x48]
mov byte [esp + 0x1a0], 1
mov byte [esp + 0x48], al
call fcn.00404bb0
mov cl, byte [esp + 0x13]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x20], cl
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dl, byte [esp + 0x13]
mov dword [esp + 0x34], ebp
mov byte [esp + 0x30], dl
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
push 6
push 0x5abb88
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1a4], 4
call fcn.005318a0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x95]
mov byte [esp + 0x94], 0
rep stosd dword es:[edi], eax
push ebp
push ebp
push ecx
mov byte [esp + 0x1a8], 5
stosw word es:[edi], ax
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x59b910
stosb byte es:[edi], al
call fcn.005318a0
push ecx
mov byte [esp + 0x1ac], 6
mov ecx, esp
mov dword [esp + 0x78], esp
push 6
push 0x59b978
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x1ac], 5
call fcn.00533b90
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push eax
push eax
call fcn.00405350
mov edi, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp edi, eax
mov ebx, eax
mov esi, edi
je 0x4c1a2d
push ebp
mov ecx, esi
call fcn.00405470
add esi, 4
cmp esi, ebx
jne 0x4c1a1e
mov dword [esp + 0x28], edi
xor bl, bl
inc bl
lea ecx, [esp + 0x54]
push ebx
push 5
call fcn.00531ad0
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x54]
push ecx
push 1
push edx
lea ecx, [esp + 0x2c]
call fcn.00404e90
cmp bl, 8
jb 0x4c1a33
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x59b970
call fcn.005318a0
mov ecx, dword [0x5c663c]
call fcn.00534ea0
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push eax
push eax
call fcn.00405350
mov ebx, dword [esp + 0x44]
mov edi, eax
add esp, 0xc
cmp edi, ebx
mov esi, edi
je 0x4c1aa7
push ebp
mov ecx, esi
call fcn.00405470
add esi, 4
cmp esi, ebx
jne 0x4c1a98
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
cmp esi, eax
mov dword [esp + 0x38], edi
je 0x4c1ada
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call fcn.00531810
mov ecx, dword [0x5c663c]
call fcn.00534fe0
mov eax, dword [esp + 0x28]
add esi, 4
cmp esi, eax
jne 0x4c1ab7
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [0x5c663c]
call fcn.005354a0
test al, al
je 0x4c1fb5
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
xor edi, edi
cmp esi, eax
je 0x4c1b49
push edi
lea ecx, [esp + 0x7c]
call fcn.00535960
test al, al
je 0x4c1b39
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x18]
call fcn.005319b0
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x14]
push edx
push 1
push eax
lea ecx, [esp + 0x3c]
call fcn.00404e90
mov eax, dword [esp + 0x28]
add esi, 4
inc edi
cmp esi, eax
jne 0x4c1b00
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, ebp
je 0x4c1b5f
mov edx, dword [esp + 0x38]
sub edx, ecx
test edx, 0xfffffffc
jne 0x4c1b99
cmp esi, eax
je 0x4c1b99
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x18]
call fcn.005319b0
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x14]
push eax
push 1
push ecx
lea ecx, [esp + 0x3c]
call fcn.00404e90
mov eax, dword [esp + 0x28]
add esi, 4
cmp esi, eax
jne 0x4c1b63
push ebp
lea edx, [esp + 0x73]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push 0x5c65b8
call fcn.00404840
push ecx
mov byte [esp + 0x1b4], 7
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x59b970
call fcn.005318a0
mov ecx, dword [0x5c6630]
mov byte [esp + 0x1b4], 5
call fcn.00534800
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], ebp
cmp ecx, ebp
jne 0x4c1bfd
xor esi, esi
mov byte [esp + 0x13], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], esi
jmp 0x4c1c1b
mov eax, dword [esp + 0x38]
mov byte [esp + 0x13], 0
sub eax, ecx
sar eax, 2
mov esi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], esi
jmp 0x4c1c1b
mov esi, dword [esp + 0x60]
push ebp
lea eax, [esp + 0x72]
sub esp, 0x10
mov byte [0x5c67d4], 0
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
push 0x5c65b8
call fcn.00404840
sub esp, 0x10
lea edx, [esp + 0x83]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
push 0x5c65b8
mov byte [esp + 0x1c8], 8
call fcn.00404840
mov eax, dword [esp + 0x64]
mov ecx, dword [0x5c6630]
push esi
push eax
mov byte [esp + 0x1c8], 5
call fcn.00534690
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x68]
lea edi, [ecx + eax]
cmp di, si
mov dword [esp + 0x1c], edi
jle 0x4c1c91
mov dword [esp + 0x1c], esi
mov edi, esi
mov esi, dword [esp + 0x34]
xor cl, cl
cmp ax, bp
jle 0x4c1cab
add esi, 4
inc cl
xor dx, dx
mov dl, cl
cmp dx, ax
jl 0x4c1c9c
xor cx, cx
mov bl, al
mov cl, al
cmp cx, di
jge 0x4c1f90
jmp 0x4c1cc7
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
xor ebp, ebp
mov cl, byte [esp + 0x13]
test cl, cl
je 0x4c1ea4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x18]
call fcn.005319b0
mov ecx, dword [0x5c6630]
add esi, 4
mov dword [esp + 0x18], esi
call fcn.00534ba0
cmp al, 1
je 0x4c1d03
cmp al, 2
jne 0x4c1d08
mov byte [esp + 0x13], 0
test al, al
jne 0x4c1f2d
lea edx, [esp + 0x94]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x88]
push eax
push ecx
mov ecx, dword [esp + 0x80]
call fcn.004c2da0
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x57217c]
mov ebp, eax
mov byte [esp + 0x19c], 0xb
cmp ecx, ebp
jae 0x4c1d4c
mov ebp, ecx
lea edx, [esp + 0x44]
cmp edx, esi
jne 0x4c1d71
push ecx
push ebp
lea ecx, [esp + 0x4c]
call fcn.00404c30
push 0
push 0
lea ecx, [esp + 0x4c]
call fcn.00404c30
jmp 0x4c1dfe
test ebp, ebp
jbe 0x4c1dbe
cmp ebp, eax
jne 0x4c1dbe
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c1d85
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4c1dbe
push 1
lea ecx, [esp + 0x48]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c1da2
mov eax, 0x572184
mov dword [esp + 0x48], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x4c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x50], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4c1dfe
push 1
push ebp
lea ecx, [esp + 0x4c]
call fcn.00404d70
test al, al
je 0x4c1dfe
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c1dda
mov esi, 0x572184
mov edi, dword [esp + 0x48]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebp
mov byte [ecx + ebp], 0
mov eax, dword [esp + 0x88]
xor esi, esi
cmp eax, esi
mov byte [esp + 0x19c], 5
je 0x4c1e30
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c1e27
cmp al, 0xff
je 0x4c1e27
dec al
mov byte [ecx], al
jmp 0x4c1e30
push ecx
call fcn.00556360
add esp, 4
push esi
push 0xffff
sub esp, 0x10
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x88], esp
push edx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
call fcn.00404720
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
mov byte [esp + 0x1bc], 0xc
call fcn.00531810
mov ecx, dword [0x5c6630]
mov byte [esp + 0x1b8], 5
call fcn.005348d0
inc bl
xor cx, cx
mov cl, bl
cmp cx, di
jl 0x4c1cbd
xor ebp, ebp
jmp 0x4c1f90
xor dx, dx
mov byte [esp + 0x13], 1
mov dl, al
mov bl, al
cmp dx, di
jge 0x4c1f90
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x18]
call fcn.005319b0
push ebp
push 0xffff
sub esp, 0x10
lea eax, [esp + 0x7e]
mov ecx, esp
mov dword [esp + 0x70], esp
push eax
push 0x59d430
call fcn.00404840
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
mov byte [esp + 0x1bc], 9
call fcn.00531810
mov ecx, dword [0x5c6630]
mov byte [esp + 0x1b8], 5
call fcn.005348d0
add esi, 4
inc bl
xor ax, ax
mov al, bl
cmp ax, di
jl 0x4c1eb9
jmp 0x4c1f90
xor cx, cx
mov cl, bl
cmp cx, di
jge 0x4c1f90
push ebp
push 0xffff
sub esp, 0x10
lea edx, [esp + 0x7f]
mov ecx, esp
mov dword [esp + 0x70], esp
push edx
push 0x59d430
call fcn.00404840
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
mov byte [esp + 0x1bc], 0xa
call fcn.00531810
mov ecx, dword [0x5c6630]
mov byte [esp + 0x1b8], 5
call fcn.005348d0
inc bl
xor cx, cx
mov cl, bl
cmp cx, di
jl 0x4c1f37
mov ecx, dword [0x5c6630]
lea edx, [esp + 0x68]
push ebp
lea eax, [esp + 0x44]
push edx
push eax
call fcn.00534bd0
cmp ax, 0xb
jne 0x4c1c17
jmp 0x4c1a5b
lea ecx, [esp + 0x54]
mov byte [esp + 0x19c], 4
call fcn.00531940
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
cmp esi, eax
mov byte [esp + 0x19c], 3
mov edi, eax
je 0x4c1fee
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x4c1fdc
mov esi, dword [esp + 0x34]
push esi
call fcn.00556360
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
add esp, 4
cmp esi, eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x19c], 2
mov edi, eax
je 0x4c202b
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x4c2019
mov esi, dword [esp + 0x24]
push esi
call fcn.00556360
mov eax, dword [esp + 0x4c]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
je 0x4c2065
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c205c
cmp al, 0xff
je 0x4c205c
dec al
mov byte [ecx], al
jmp 0x4c2065
push ecx
call fcn.00556360
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x19c], 0
call fcn.00531940
lea ecx, [esp + 0x78]
mov dword [esp + 0x19c], 0xffffffff
call fcn.00531940
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
mov ax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x190
ret