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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x597f54]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x70]
test ax, ax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
jbe 0x455955
movzx edx, ax
jmp 0x455940
movzx eax, byte [ecx]
add word [esp + eax*2 + 0x20], 1
lea eax, [esp + eax*2 + 0x20]
add ecx, 1
sub edx, 1
jne 0x455940
mov ecx, 0xf
mov word [esp + 0x46], 0
xor eax, eax
lea edx, [ecx + 1]
push esi
jmp 0x455970
mov si, word [esp + eax + 0x26]
shl si, cl
sub ecx, 1
add eax, 2
add si, word [esp + eax + 0x48]
sub edx, 1
mov word [esp + eax + 0x4a], si
jne 0x455970
cmp word [esp + 0x6a], dx
je 0x4559a8
xor eax, eax
pop esi
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004e2867
add esp, 0x6c
ret 0x10
push ebx
mov ebx, dword [esp + 0x80]
mov ecx, 0x10
sub ecx, ebx
push ebp
push edi
movzx edx, cx
mov edi, 1
cmp bx, di
mov dword [esp + 0x20], edx
jb 0x455a0b
movzx esi, bx
lea ecx, [esi + 1]
mov edx, edi
xor eax, eax
movzx edi, cx
jmp 0x4559e0
mov cx, word [esp + 0x20]
shr word [esp + eax + 0x56], cl
mov ecx, ebx
sub ecx, edx
mov ebp, 1
shl ebp, cl
add edx, 1
add eax, 2
sub esi, 1
mov word [esp + eax + 0x30], bp
jne 0x4559e0
cmp di, 0x10
ja 0x455a3d
movzx eax, di
mov ecx, 0x11
sub ecx, edi
lea edx, [esp + eax*2 + 0x30]
movzx esi, cx
lea esp, [esp]
mov ecx, 0x10
sub ecx, eax
mov edi, 1
shl edi, cl
add eax, 1
add edx, 2
sub esi, 1
mov word [edx - 2], di
jne 0x455a20
mov dx, word [esp + ebx*2 + 0x56]
mov cx, word [esp + 0x20]
shr dx, cl
movzx edx, dx
test dx, dx
je 0x455a7d
mov eax, 1
mov ecx, ebx
shl eax, cl
movzx eax, ax
cmp dx, ax
je 0x455a7d
mov esi, dword [esp + 0x18]
movzx ecx, dx
sub eax, edx
lea edi, [esi + ecx*2]
movzx ecx, ax
xor eax, eax
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
movzx ebp, word [esp + 0x80]
mov ecx, 0xf
sub ecx, ebx
mov edx, 1
shl edx, cl
cmp word [esp + 0x80], 0
mov dword [esp + 0x10], 0
movzx eax, dx
mov dword [esp + 0x2c], eax
jbe 0x455bd7
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
lea esp, [esp]
mov edx, dword [esp + 0x1c]
movzx ax, byte [edx]
movzx eax, ax
test ax, ax
je 0x455bb9
movzx ecx, ax
add ecx, ecx
lea edx, [esp + ecx + 0x54]
mov cx, word [esp + ecx + 0x30]
mov dword [esp + 0x28], edx
movzx edx, word [edx]
add cx, dx
cmp ax, bx
movzx ecx, cx
mov dword [esp + 0x14], ecx
ja 0x455b31
movzx eax, dx
cmp ax, cx
jae 0x455bad
mov ecx, dword [esp + 0x18]
movzx edx, ax
lea edi, [ecx + edx*2]
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, dword [esp + 0x10]
movzx ecx, dx
mov dx, ax
shl edx, 0x10
mov dx, ax
shr ecx, 1
mov eax, edx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
jmp 0x455bad
mov cl, byte [esp + 0x20]
movzx esi, dx
movzx edx, si
shr edx, cl
mov ecx, dword [esp + 0x18]
sub eax, ebx
lea ecx, [ecx + edx*2]
movzx edx, ax
test dx, dx
je 0x455ba5
mov edi, edi
cmp word [ecx], 0
mov edi, dword [esp + 0x24]
jne 0x455b77
movzx eax, bp
mov word [edi + eax*2 + 0x2832], 0
mov word [edi + eax*2 + 0x3028], 0
mov word [ecx], bp
add ebp, 1
mov eax, dword [esp + 0x2c]
and eax, esi
test ax, ax
je 0x455b8e
movzx ecx, word [ecx]
lea ecx, [edi + ecx*2 + 0x3028]
jmp 0x455b98
movzx eax, word [ecx]
lea ecx, [edi + eax*2 + 0x2832]
add edx, 0xffff
add esi, esi
test dx, dx
jne 0x455b50
mov dx, word [esp + 0x10]
mov word [ecx], dx
mov ax, word [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov word [ecx], ax
mov eax, dword [esp + 0x10]
add dword [esp + 0x1c], 1
add eax, 1
cmp ax, word [esp + 0x80]
mov dword [esp + 0x10], eax
jb 0x455ac0
mov ecx, dword [esp + 0x78]
pop edi
pop ebp
pop ebx
pop esi
xor ecx, esp
mov eax, 1
call fcn.004e2867
add esp, 0x6c
ret 0x10