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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x88
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
test eax, eax
je 0x449866
xor edx, edx
mov ebx, dword [esp + 0xa0]
lea esi, [esi]
movzx ecx, word [ebx + edx*2]
inc word [esp + ecx*2 + 0x48]
inc edx
cmp edx, eax
jne 0x449858
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov dword [esp + 8], edx
mov dx, word [esp + 0x66]
test dx, dx
jne 0x44996c
cmp word [esp + 0x64], 0
jne 0x449f3f
cmp word [esp + 0x62], 0
jne 0x449f4c
cmp word [esp + 0x60], 0
jne 0x449f59
cmp word [esp + 0x5e], 0
jne 0x449f66
cmp word [esp + 0x5c], 0
jne 0x449f73
cmp word [esp + 0x5a], 0
jne 0x449f80
cmp word [esp + 0x58], 0
jne 0x449fb4
cmp word [esp + 0x56], 0
jne 0x449fa7
cmp word [esp + 0x54], 0
jne 0x449fce
cmp word [esp + 0x52], 0
jne 0x449fc1
cmp word [esp + 0x50], 0
jne 0x449f9a
cmp word [esp + 0x4e], 0
jne 0x449f8d
cmp word [esp + 0x4c], 0
jne 0x449fed
cmp word [esp + 0x4a], 0
jne 0x449fdb
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx]
mov byte [eax], 0x40
mov byte [eax + 1], 1
mov word [eax + 2], 0
mov byte [eax + 4], 0x40
mov byte [eax + 5], 1
mov word [eax + 6], 0
add eax, 8
mov dword [ebx], eax
mov esi, dword [esp + 0xac]
mov dword [esi], 1
xor eax, eax
add esp, 0x88
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x14], 0xf
mov ebp, 1
cmp word [esp + 0x4a], 0
jne 0x449999
mov ecx, dword [esp + 0x14]
jmp 0x449994
cmp word [esp + ebp*2 + 0x48], 0
jne 0x449e36
inc ebp
cmp ebp, ecx
jne 0x449988
movzx ecx, word [esp + 0x4a]
mov ebx, 2
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x4c]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x4e]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x50]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x52]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x54]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x56]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x58]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x5a]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x5c]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x5e]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x60]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x62]
sub ebx, ecx
js 0x449e26
shl ebx, 1
movzx ecx, word [esp + 0x64]
sub ebx, ecx
js 0x449e26
lea ecx, [ebx + ebx]
movzx edx, dx
sub ecx, edx
cmp ecx, 0
jl 0x449e26
je 0x449a9b
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x449e26
cmp dword [esp + 0x14], 1
jne 0x449e26
mov word [esp + 0x6a], 0
mov dx, word [esp + 0x4a]
mov word [esp + 0x6c], dx
add edx, dword [esp + 0x4c]
mov word [esp + 0x6e], dx
add dx, word [esp + 0x4e]
mov word [esp + 0x70], dx
add edx, dword [esp + 0x50]
mov word [esp + 0x72], dx
add dx, word [esp + 0x52]
mov word [esp + 0x74], dx
add edx, dword [esp + 0x54]
mov word [esp + 0x76], dx
add dx, word [esp + 0x56]
mov word [esp + 0x78], dx
add edx, dword [esp + 0x58]
mov word [esp + 0x7a], dx
add dx, word [esp + 0x5a]
mov word [esp + 0x7c], dx
add edx, dword [esp + 0x5c]
mov word [esp + 0x7e], dx
add dx, word [esp + 0x5e]
mov word [esp + 0x80], dx
add edx, dword [esp + 0x60]
mov word [esp + 0x82], dx
add dx, word [esp + 0x62]
mov word [esp + 0x84], dx
add edx, dword [esp + 0x64]
mov word [esp + 0x86], dx
test eax, eax
je 0x449b6b
xor edx, edx
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xa0]
mov cx, word [esi + edx*2]
test cx, cx
je 0x449b62
movzx ecx, cx
mov bx, word [esp + ecx*2 + 0x68]
movzx ebp, bx
mov word [edi + ebp*2], dx
inc ebx
mov word [esp + ecx*2 + 0x68], bx
inc edx
cmp edx, eax
jne 0x449b44
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
cmp eax, edx
jbe 0x449b79
mov eax, edx
mov dword [esp + 0x2c], ebp
cmp ebp, eax
jae 0x449b85
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x9c]
test esi, esi
jne 0x449e8c
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], 1
mov cl, byte [esp + 0x2c]
shl dword [esp + 0x34], cl
mov ebx, dword [esp + 0x34]
dec ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], 0x13
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], 0xffffffff
xor edx, edx
mov dword [esp + 0x18], 0
mov esi, edi
nop
mov ebx, ebp
sub bl, byte [esp + 0x18]
mov byte [esp + 0xc], bl
mov bx, word [esi]
movzx ecx, bx
cmp ecx, dword [esp + 0x30]
jl 0x449de8
jle 0x449df0
shl ecx, 1
mov edi, dword [esp + 0x44]
movzx esi, byte [edi + ecx]
mov edi, dword [esp + 0x40]
mov bx, word [edi + ecx]
mov ecx, ebp
sub ecx, dword [esp + 0x18]
mov edi, 1
shl edi, cl
mov dword [esp + 8], edi
mov edi, 1
mov cl, al
shl edi, cl
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 8]
neg ecx
shl ecx, 2
mov dword [esp + 0x10], ecx
mov edi, edx
mov cl, byte [esp + 0x18]
shr edi, cl
mov ecx, dword [esp + 0x20]
add ecx, edi
sub ecx, dword [esp + 8]
mov edi, dword [esp + 0x24]
lea ecx, [edi + ecx*4]
mov edi, dword [esp + 0x20]
mov dword [esp + 4], edx
mov edx, esi
mov esi, eax
mov al, dl
mov dl, byte [esp + 0xc]
mov byte [ecx], al
mov byte [ecx + 1], dl
mov word [ecx + 2], bx
add ecx, dword [esp + 0x10]
sub edi, dword [esp + 8]
jne 0x449c70
mov eax, esi
mov edx, dword [esp + 4]
lea ecx, [ebp - 1]
mov ebx, 1
shl ebx, cl
mov ecx, ebx
test ebx, edx
je 0x449ca2
lea esi, [esi]
shr ecx, 1
test ecx, edx
jne 0x449c9c
test ecx, ecx
je 0x449de0
lea ebx, [ecx - 1]
and ebx, edx
lea edx, [ebx + ecx]
mov cx, word [esp + ebp*2 + 0x48]
dec ecx
mov word [esp + ebp*2 + 0x48], cx
test cx, cx
jne 0x449cdf
cmp ebp, dword [esp + 0x14]
je 0x449e47
mov esi, dword [esp + 0x1c]
movzx ecx, word [esi + 2]
mov edi, dword [esp + 0xa0]
movzx ebp, word [edi + ecx*2]
cmp dword [esp + 0x2c], ebp
jae 0x449dd0
mov edi, dword [esp + 0x3c]
and edi, edx
cmp edi, dword [esp + 0x38]
je 0x449dd0
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x449d09
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
mov eax, ebp
sub eax, dword [esp + 0x18]
cmp ebp, dword [esp + 0x14]
jae 0x449d62
mov ebx, 1
mov cl, al
shl ebx, cl
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + ebp*2 + 0x48]
sub dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
test ecx, ecx
jle 0x449d62
mov ecx, dword [esp + 0x18]
lea esi, [esp + ecx*2 + 0x48]
mov dword [esp + 8], ebp
mov ebp, ecx
mov ecx, dword [esp + 0xc]
jmp 0x449d54
shl ecx, 1
movzx ebx, word [esi + eax*2]
sub ecx, ebx
test ecx, ecx
jle 0x449d5e
inc eax
lea ebx, [eax + ebp]
cmp dword [esp + 0x14], ebx
ja 0x449d48
mov ebp, dword [esp + 8]
mov ebx, 1
mov cl, al
shl ebx, cl
add dword [esp + 0x34], ebx
cmp dword [esp + 0x9c], 1
je 0x449e16
cmp dword [esp + 0x9c], 2
je 0x449dfc
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
lea esi, [esi + ebx*4]
mov dword [esp + 0x24], esi
lea ecx, [edi*4]
mov esi, dword [esp + 0xa8]
mov ebx, dword [esi]
mov byte [ebx + ecx], al
mov ebx, dword [esi]
mov esi, ebx
mov bl, byte [esp + 0x2c]
mov byte [esi + ecx + 1], bl
mov ebx, dword [esp + 0xa8]
mov esi, dword [ebx]
mov ebx, dword [esp + 0x24]
sub ebx, esi
sar ebx, 2
mov word [esi + ecx + 2], bx
mov dword [esp + 0x38], edi
add dword [esp + 0x1c], 2
mov esi, dword [esp + 0x1c]
jmp 0x449be8
xor edx, edx
jmp 0x449cb2
xor esi, esi
jmp 0x449c1a
xor ebx, ebx
mov esi, 0x60
jmp 0x449c1a
cmp dword [esp + 0x34], 0x24f
jbe 0x449d87
mov eax, 1
add esp, 0x88
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x34], 0x353
jbe 0x449d87
jmp 0x449e06
mov eax, 0xffffffff
add esp, 0x88
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ecx, word [esp + 0x4a]
mov ebx, 2
sub ebx, ecx
jmp 0x4499ab
test edx, edx
je 0x449e62
mov esi, dword [esp + 0x24]
lea eax, [esi + edx*4]
mov byte [eax], 0x40
mov dl, byte [esp + 0xc]
mov byte [eax + 1], dl
mov word [eax + 2], 0
mov eax, dword [esp + 0x34]
shl eax, 2
mov ebx, dword [esp + 0xa8]
add dword [ebx], eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0xac]
mov dword [esi], ecx
xor eax, eax
add esp, 0x88
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x9c], 1
je 0x449ef1
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], 1
mov cl, byte [esp + 0x2c]
shl dword [esp + 0x34], cl
mov ebx, dword [esp + 0x34]
dec ebx
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x9c], 2
jne 0x449ed4
cmp dword [esp + 0x34], 0x24f
ja 0x449e06
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x44], 0x4705e0
mov dword [esp + 0x40], 0x470560
jmp 0x449bca
mov esi, dword [esp + 0xa8]
mov esi, dword [esi]
mov dword [esp + 0x24], esi
mov ebx, dword [esp + 0x9c]
mov cl, byte [esp + 0x2c]
shl ebx, cl
mov dword [esp + 0x34], ebx
dec ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], 0x100
mov dword [esp + 0x44], 0x47039e
mov dword [esp + 0x40], 0x47031e
cmp dword [esp + 0x34], 0x353
jbe 0x449bca
jmp 0x449e06
mov dword [esp + 0x14], 0xe
jmp 0x449974
mov dword [esp + 0x14], 0xd
jmp 0x449974
mov dword [esp + 0x14], 0xc
jmp 0x449974
mov dword [esp + 0x14], 0xb
jmp 0x449974
mov dword [esp + 0x14], 0xa
jmp 0x449974
mov dword [esp + 0x14], 9
jmp 0x449974
mov dword [esp + 0x14], 3
jmp 0x449974
mov dword [esp + 0x14], 4
jmp 0x449974
mov dword [esp + 0x14], 7
jmp 0x449974
mov dword [esp + 0x14], 8
jmp 0x449974
mov dword [esp + 0x14], 5
jmp 0x449974
mov dword [esp + 0x14], 6
jmp 0x449974
mov dword [esp + 0x14], 1
mov ebp, 1
jmp 0x449999
mov dword [esp + 0x14], 2
jmp 0x449974