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

Disassembly:
sub esp, 0x48
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x64]
push ebp
mov eax, dword [ecx + 0x1428]
movzx ebp, word [0x1004d400]
mov dword [esp + 0x28], eax
mov eax, dword [0x1004d3b4]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + ebp*4 + 0x28]
mov ecx, ebx
mov dword [esp + 0x48], eax
add ecx, ecx
mov eax, dword [0x1004d43c]
movzx eax, ax
mov dword [esp + 0x40], eax
mov eax, dword [0x1004d3e0]
inc eax
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x5c]
mov dword [0x1004d3e0], eax
shl al, 4
mov dword [esp + 8], eax
movzx eax, word [0x1004d430]
push esi
mov esi, edx
mov dword [esp + 0x20], 0x1928
cdq
idiv dword [ebp + ecx*8]
push edi
mov edi, dword [0x1004d420]
mov al, dl
mov byte [esp + 0x2c], al
mov cx, di
mov eax, dword [0x1004d42c]
movzx edx, byte [0x1004d3ee]
mov dword [esp + 0x34], edi
movzx edi, word [0x1004d428]
movzx eax, word [eax + ebx*4]
mov dword [esp + 0x20], eax
mov eax, dword [0x1004d3d4]
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], 0x193f
mov byte [esp + 0x44], 0xa
sub cx, word [eax + ebx*4]
movzx eax, cx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0x52e0]
or eax, 0xc0c
mov dword [esp + 0x1c], eax
mov eax, ebp
mov ebp, dword [esp + 0x14]
xor edi, dword [eax + ebx*4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], edi
cmp dword [esi + eax*4 + 0x78], edx
mov esi, dword [0x1004d3c8]
jb 0x1000b6bd
mov eax, dword [esp + 0x48]
xor edx, edx
movzx ecx, ax
mov eax, dword [esp + 0x10]
movzx eax, al
div ecx
imul eax, edx, 0xa42
xor edx, edx
div dword [esp + 0x18]
mov ecx, eax
jmp 0x1000b88f
movzx eax, byte [esi + ebp]
mov ecx, dword [0x1004d3cc]
cmp ecx, eax
jbe 0x1000b866
mov eax, dword [0x1004d3bc]
inc eax
mov dword [0x1004d3bc], eax
cmp dword [0x1004d434], eax
je 0x1000b866
mov eax, ecx
inc ecx
mov dword [0x1004d3cc], ecx
cmp edx, eax
jne 0x1000b707
pop edi
pop esi
pop ebp
mov byte [0x1004d3c6], 0
mov eax, 0x10e1
pop ebx
add esp, 0x48
ret
mov ecx, dword [0x1004d42c]
xor edx, edx
mov eax, 0xae
mov dword [esp + 0x38], 0x193e
push 0x4b0
mov byte [esp + 0x48], 0x3e
div dword [ecx + 0x1a4c]
movzx eax, byte [0x1004d3e8]
mov ecx, 0xa42
push eax
push 0xcd7
call fcn.100032d0
mov ecx, dword [esp + 0x58]
xor edx, edx
mov esi, dword [0x1004d3e0]
add esp, 0xc
mov byte [ecx + ebx + 5], al
mov eax, 0xfa5
div dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
movzx eax, cl
movzx ecx, dx
xor edx, edx
imul ecx, eax
mov eax, dword [esp + 0x1c]
dec byte [esp + 0x10]
xor word [eax + esi*2], cx
inc esi
mov eax, dword [esp + 0x28]
movzx ecx, ax
mov eax, dword [0x1004d40c]
mov dword [0x1004d3e0], esi
mov esi, dword [esp + 0x40]
mov eax, dword [eax + 0x17ac]
div ecx
mov ecx, dword [esp + 0x74]
mov eax, 0xcd7
sub edx, dword [esi + ebp*8]
mov dword [esi + ebp*8], edx
dec ebp
mov dword [esp + 0x14], ebp
cmp word [ecx + ebp*8], ax
jne 0x1000bc40
mov eax, dword [esp + 0x20]
movzx eax, ax
cmp dword [esi + ebx*4], eax
jb 0x1000b83f
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x24], 0x1926
mov al, byte [edx + 0x2cc]
mov cl, al
shl cl, 5
add cl, al
mov eax, dword [esp + 0x68]
add cl, cl
mov byte [edx + 0x2cc], cl
or dword [eax + ebx*4], 0xd99
mov eax, 0x1928
inc ebx
mov dword [esp + 0x70], ebx
movzx eax, word [eax]
movzx edx, word [eax + eax + 0x1956]
movzx eax, word [0x1004d400]
or edx, 0x170b
add eax, eax
mov eax, dword [esi + eax*8]
mov ecx, eax
shl ecx, 5
sub ecx, eax
add ecx, ecx
push ecx
mov ecx, 0x3e
call fcn.10005480
mov ecx, dword [esp + 0x64]
add esp, 4
mov esi, dword [0x1004d3c8]
mov dword [ecx + 0x2b8], eax
jmp 0x1000b88b
mov dx, word [0x1004d400]
mov esi, dword [0x1004d418]
mov ecx, dword [esp + 0x18]
movzx eax, dx
add eax, eax
mov eax, dword [edi + eax*8]
and eax, ecx
mov dword [esi + ebp*4 + 0x68], eax
mov esi, dword [0x1004d3c8]
jmp 0x1000b896
mov ecx, dword [esp + 0x78]
mov eax, dword [0x1004d3f0]
lea edx, [ecx + eax*4]
mov eax, dword [0x1004d40c]
mov ecx, dword [eax + ebp*4 + 0x54]
mov eax, dword [esp + 0x50]
sub ecx, dword [esp + 0x18]
inc eax
or ecx, eax
imul ecx, dword [edx]
mov dword [edx], ecx
mov ecx, dword [esp + 0x18]
mov dx, word [0x1004d400]
mov ebx, dword [esp + 0x64]
mov eax, dword [ebp*4 + 0x616]
cmp eax, dword [ebx + ebp*4]
mov ebx, dword [esp + 0x70]
jbe 0x1000bb9f
mov eax, dword [0x1004d418]
cmp ecx, dword [eax + ebx*4]
ja 0x1000bb9f
mov eax, dword [esp + 0x24]
movzx eax, word [eax]
movzx ecx, byte [eax + esi]
movzx eax, dx
mov edx, dword [esp + 0x1c]
cmp cx, word [edx + eax*8]
jb 0x1000ba2e
mov ecx, dword [esp + 0x3c]
cmp ebp, ecx
jb 0x1000ba2e
mov edx, dword [esp + 0x24]
movzx eax, word [edx]
inc eax
mov word [edx], ax
movzx eax, ax
cmp dword [eax*4 + 0x65a], 0x18c
jae 0x1000ba2e
mov edi, dword [0x1004d3c8]
movzx eax, byte [edi + eax*4]
cmp eax, 0x1cf1
jb 0x1000b936
mov esi, dword [esp + 0x5c]
xor edx, edx
mov eax, dword [esp + 0x10]
movzx eax, al
movzx ecx, byte [esi + ebx*4 + 0x1c]
div ecx
mov byte [esi + ebx*4 + 0x1c], dl
mov edi, 0xcd7
jmp 0x1000bbd3
mov edx, dword [esp + 0x30]
movzx eax, byte [esp + 0x2c]
or eax, 0x2d96
imul eax, dword [edx + ebx*4]
mov dword [edx + ebx*4], eax
mov edx, 0xc6
call fcn.1000cae0
mov eax, dword [esp + 0x20]
mov edx, dword [0x1004d43c]
movzx ecx, ax
dec edx
inc eax
mov dword [0x1004d43c], edx
mov dword [esp + 0x20], eax
add ecx, edx
mov eax, dword [esp + 0x28]
movzx eax, ax
cdq
idiv dword [0x1004d3c0]
movzx esi, word [0x1004d400]
push edx
mov edx, esi
call fcn.10005480
mov ecx, dword [esp + 0x68]
add esp, 4
movzx esi, word [0x1004d400]
add esi, esi
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
dec al
mov dword [esp + 0x10], eax
movzx eax, al
mov esi, dword [ecx + esi*8]
cmp esi, eax
jge 0x1000b92c
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
movzx edx, ax
mov dword [esp + 0x64], edx
nop dword [eax + eax]
mov eax, dword [0x1004d3f0]
dec ebx
push esi
push dword [esp + 0x48]
movzx ecx, byte [edi + eax*4]
mov eax, edx
cdq
idiv esi
mov edx, ecx
mov ecx, 0x2df
push eax
push esi
push dword [0x1004d440]
push dword [ebp + ebx*4]
push esi
push esi
push esi
call fcn.100069f0
mov edx, dword [esp + 0x88]
inc esi
mov byte [0x1004d3c5], al
add esp, 0x24
mov eax, dword [esp + 0x10]
dec al
mov dword [esp + 0x10], eax
movzx eax, al
cmp esi, eax
jl 0x1000b9d0
mov ebp, dword [esp + 0x14]
mov edi, 0xcd7
jmp 0x1000bbd3
mov eax, dword [0x1004d3b4]
dec eax
mov dword [0x1004d3b4], eax
mov edx, eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + ebx*4]
call fcn.1000cae0
mov ecx, dword [0x1004d42c]
push 0x1567
push dword [esp + 0x30]
mov dword [ecx + ebx*4], eax
mov eax, 0x149f
mov ecx, dword [esp + 0x6c]
cdq
idiv dword [ecx + 0x1024]
mov eax, dword [esp + 0x30]
movzx ecx, ax
push edx
mov edx, dword [edi + ebx*4 + 0x80]
or ecx, 0xb52
call fcn.100032d0
mov esi, dword [esp + 0x68]
xor edx, edx
movzx ecx, al
mov byte [esp + 0x70], al
mov eax, dword [esp + 0x28]
mov edi, dword [0x1004d410]
dec edi
mov dword [0x1004d410], edi
xor edi, 0x1338
movzx ebp, word [eax + ecx*2]
movzx ecx, word [0x1004d400]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x3c]
movzx ebx, byte [ecx + esi]
mov esi, dword [0x1004d3b4]
mov ecx, dword [0x1004d3f0]
dec esi
add ecx, ecx
mov dword [0x1004d3b4], esi
mov eax, esi
div dword [ebp + ecx*8 + 0x94]
movzx eax, byte [0x1004d3f8]
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x78], al
mov eax, 0xcd7
mov ebp, dword [esp + 0x5c]
sub eax, dword [ecx + 0x39bc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
add eax, eax
push dword [ecx + eax*8]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
and al, 0xe0
movzx eax, al
push eax
push dword [esp + 0x74]
push dword [esp + 0x84]
push edx
push esi
push edi
push ebx
push ebp
mov edx, 0x18f8
call fcn.100069f0
mov ecx, dword [esp + 0x44]
add esp, 0x30
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x70]
mov word [edx + ecx*2], ax
mov ax, word [0x1004d400]
inc ax
mov word [0x1004d400], ax
movzx eax, ax
mov ecx, dword [ebp + eax*4 + 0x90]
mov al, byte [esp + 0x64]
dec al
movzx esi, al
cmp ecx, esi
jne 0x1000bb94
mov edx, dword [esp + 0x34]
sub ebp, edx
lea eax, [edx + ecx*4]
mov edx, dword [0x1004d3bc]
nop
and dword [eax], ebx
lea eax, [eax + 4]
xor edx, dword [eax + ebp - 4]
inc ecx
cmp ecx, esi
je 0x1000bb80
mov dword [0x1004d3bc], edx
mov ebp, dword [esp + 0x14]
mov edi, 0xcd7
jmp 0x1000bbd3
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x30]
dec al
movzx eax, al
movzx ecx, word [ecx + ebp*4]
imul ecx, eax
movzx eax, byte [0x1004d3c6]
sub cx, word [0x1004d414]
mov word [0x1004d414], cx
mov ecx, 0xcd7
or ax, cx
movzx edi, ax
mov eax, dword [esp + 0x34]
xor edx, edx
movzx ecx, word [0x1004d414]
mov eax, dword [eax + ebx*4 + 0x1c]
sub eax, ecx
mov ecx, dword [esp + 0x1c]
movzx ecx, word [ecx + ebx*8]
div ecx
mov ecx, dword [esp + 0x1c]
mov word [ecx + ebx*8], ax
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
movzx edx, ax
cmp ebx, edx
jge 0x1000bc40
movzx eax, byte [0x1004d3c6]
imul esi, eax, 0x1983
sub edx, ebx
mov eax, dword [esp + 0x74]
movzx ecx, word [eax + ebp*2]
nop
imul ecx, edi
mov eax, esi
sub eax, dword [0x1004d410]
mov dword [0x1004d410], eax
movzx ecx, cx
sub edx, 1
jne 0x1000bc20
mov eax, dword [esp + 0x74]
mov word [eax + ebp*2], cx
pop edi
pop esi
pop ebp
mov eax, 0x10e1
pop ebx
add esp, 0x48
ret