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

Disassembly:
push ebp
xor edx, edx
xor eax, eax
push edi
push esi
push ebx
sub esp, 0x88
mov edi, dword [esp + 0xa4]
mov dword [esp + eax + 0x48], edx
add eax, 4
cmp eax, 0x20
jb 0x448b65
mov eax, dword [esp + 0xa0]
lea ecx, [eax + edi*2]
test edi, edi
je 0x448b90
nop
movzx edx, word [eax]
add eax, 2
add word [esp + edx*2 + 0x48], 1
cmp ecx, eax
jne 0x448b80
movzx ecx, word [esp + 0x66]
test cx, cx
jne 0x448c84
cmp word [esp + 0x64], 0
jne 0x4495be
cmp word [esp + 0x62], 0
jne 0x4495c8
cmp word [esp + 0x60], 0
jne 0x4495e7
cmp word [esp + 0x5e], 0
jne 0x4495fd
cmp word [esp + 0x5c], 0
jne 0x449613
cmp word [esp + 0x5a], 0
jne 0x449629
cmp word [esp + 0x58], 0
jne 0x449715
cmp word [esp + 0x56], 0
jne 0x4498c8
cmp word [esp + 0x54], 0
jne 0x44988a
cmp word [esp + 0x52], 0
jne 0x44989c
cmp word [esp + 0x50], 0
jne 0x44965c
cmp word [esp + 0x4e], 0
jne 0x449672
cmp word [esp + 0x4c], 0
jne 0x44969c
cmp word [esp + 0x4a], 0
jne 0x4496b6
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0xa8]
mov eax, dword [eax]
lea edx, [eax + 8]
mov dword [eax], 0x140
mov dword [edi], edx
xor edx, edx
mov dword [eax + 4], 0x140
mov eax, dword [esp + 0xac]
mov dword [eax], 1
add esp, 0x88
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, 0xf
cmp word [esp + 0x4a], 0
jne 0x449817
cmp word [esp + 0x4c], 0
jne 0x44983f
cmp word [esp + 0x4e], 0
jne 0x4496ee
cmp ebp, 4
je 0x4496e1
cmp word [esp + 0x50], 0
jne 0x449759
cmp ebp, 5
je 0x44974c
cmp word [esp + 0x52], 0
jne 0x449745
cmp ebp, 6
je 0x449738
cmp word [esp + 0x54], 0
jne 0x449760
cmp ebp, 7
je 0x44972b
cmp word [esp + 0x56], 0
jne 0x449774
cmp ebp, 8
je 0x449767
cmp word [esp + 0x58], 0
jne 0x4497a2
cmp ebp, 9
je 0x449795
cmp word [esp + 0x5a], 0
jne 0x44978b
cmp ebp, 0xa
je 0x44977e
cmp word [esp + 0x5c], 0
jne 0x4497d0
cmp ebp, 0xb
je 0x4497c3
cmp word [esp + 0x5e], 0
jne 0x4497b9
cmp ebp, 0xc
je 0x4497ac
cmp word [esp + 0x60], 0
jne 0x449803
cmp ebp, 0xd
je 0x4497f6
cmp word [esp + 0x62], 0
jne 0x4497ec
cmp ebp, 0xf
jne 0x4497da
cmp word [esp + 0x64], 0
jne 0x44980d
mov dword [esp + 0xc], 0xf
movzx edx, word [esp + 0x4a]
mov eax, 2
mov ebx, edx
sub eax, edx
movzx esi, word [esp + 0x4c]
add eax, eax
mov edx, esi
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x4e]
add eax, eax
mov word [esp + 4], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x50]
add eax, eax
mov word [esp + 8], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x52]
add eax, eax
mov word [esp + 0x10], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x54]
add eax, eax
mov word [esp + 0x14], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x56]
add eax, eax
mov word [esp + 0x44], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x58]
add eax, eax
mov word [esp + 0x18], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x5a]
add eax, eax
mov word [esp + 0x1c], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x5c]
add eax, eax
mov word [esp + 0x20], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x5e]
add eax, eax
mov word [esp + 0x24], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x60]
add eax, eax
mov word [esp + 0x28], si
sub eax, esi
js 0x449040
movzx esi, word [esp + 0x62]
add eax, eax
mov word [esp + 0x2c], si
sub eax, esi
js 0x449040
lea esi, [eax + eax]
movzx eax, word [esp + 0x64]
sub esi, eax
mov word [esp], ax
mov eax, esi
js 0x449040
add eax, eax
cmp eax, ecx
js 0x449040
je 0x448ed3
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x449040
cmp dword [esp + 0xc], 1
jne 0x449040
add edx, ebx
mov eax, dword [esp + 0xac]
xor ecx, ecx
mov word [esp + 0x6c], bx
mov word [esp + 0x6e], dx
add dx, word [esp + 4]
mov word [esp + 0x70], dx
add dx, word [esp + 8]
mov word [esp + 0x72], dx
add dx, word [esp + 0x10]
mov word [esp + 0x74], dx
add dx, word [esp + 0x14]
mov word [esp + 0x76], dx
add dx, word [esp + 0x44]
mov word [esp + 0x78], dx
add dx, word [esp + 0x18]
mov word [esp + 0x7a], dx
add dx, word [esp + 0x1c]
mov word [esp + 0x7c], dx
add dx, word [esp + 0x20]
mov word [esp + 0x7e], dx
add dx, word [esp + 0x24]
mov word [esp + 0x80], dx
add dx, word [esp + 0x28]
mov word [esp + 0x82], dx
add dx, word [esp + 0x2c]
mov word [esp + 0x84], dx
add dx, word [esp]
mov word [esp + 0x86], dx
mov eax, dword [eax]
xor edx, edx
mov word [esp + 0x6a], cx
test edi, edi
je 0x448fc1
mov dword [esp], eax
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xb0]
lea esi, [esi]
movzx eax, word [ebx + edx*2]
test ax, ax
je 0x448fb3
movzx ecx, word [esp + eax*2 + 0x68]
lea esi, [ecx + 1]
mov word [ebp + ecx*2], dx
mov word [esp + eax*2 + 0x68], si
add edx, 1
cmp edi, edx
jne 0x448f98
mov eax, dword [esp]
mov ebp, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov edx, edi
cmp edi, eax
jbe 0x448fcd
mov edx, eax
mov dword [esp + 0x20], edx
cmp edx, ebp
jae 0x448fd9
mov dword [esp + 0x20], ebp
movzx ecx, byte [esp + 0x20]
mov eax, 1
mov esi, dword [esp + 0x9c]
shl eax, cl
mov dword [esp + 0x2c], eax
test esi, esi
je 0x449080
cmp dword [esp + 0x9c], 1
je 0x449052
cmp dword [esp + 0x9c], 2
sete byte [esp + 0x46]
cmp dword [esp + 0x2c], 0x24f
movzx eax, byte [esp + 0x46]
jbe 0x44963f
test al, al
je 0x44963f
add esp, 0x88
mov edx, 1
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
add esp, 0x88
mov edx, 0xffffffff
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x2c], 0x353
ja 0x44902a
mov dword [esp + 0x28], 0x100
mov dword [esp + 0x3c], 0x508a5e
mov dword [esp + 0x40], 0x508a9e
mov byte [esp + 0x47], 1
mov byte [esp + 0x46], 0
jmp 0x4490a9
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x28], 0x13
mov byte [esp + 0x46], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x9c], 1
sete byte [esp + 0x47]
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [eax]
sub edi, 1
mov dword [esp + 8], 0
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], edi
xor edi, edi
mov dword [esp + 0x14], eax
mov ebp, edi
movzx eax, byte [esp + 4]
sub al, byte [esp + 8]
xor edi, edi
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
mov esi, eax
cmp eax, dword [esp + 0x28]
jl 0x449124
jle 0x449230
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
movzx edi, byte [edi + eax*2]
movzx esi, word [ebx + eax*2]
mov eax, dword [esp + 4]
sub eax, dword [esp + 8]
mov edx, 1
mov ebx, 0xfffffffc
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, 1
shl edx, cl
movzx ecx, byte [esp + 0x14]
shl eax, cl
movzx ecx, byte [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp], eax
mov eax, ebp
movzx ebp, byte [esp + 0x44]
shl ebx, cl
movzx ecx, byte [esp + 8]
mov dword [esp + 0x1c], ebx
mov ebx, edi
mov edi, dword [esp + 0x1c]
shr eax, cl
mov ecx, dword [esp]
add ecx, eax
mov eax, dword [esp + 0x24]
sub ecx, edx
lea ecx, [eax + ecx*4]
mov eax, dword [esp]
mov byte [esp], bl
lea esi, [esi]
movzx ebx, byte [esp]
mov word [ecx + 2], si
mov byte [ecx], bl
mov ebx, ebp
mov byte [ecx + 1], bl
add ecx, edi
sub eax, edx
jne 0x449188
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x18]
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
test ebp, eax
je 0x4491be
lea esi, [esi]
nop
shr eax, 1
test ebp, eax
jne 0x4491b8
test eax, eax
je 0x4491c9
lea edx, [eax - 1]
and edx, ebp
add eax, edx
mov edi, dword [esp + 4]
movzx ebx, word [esp + edi*2 + 0x48]
mov esi, ebx
mov word [esp], bx
lea edx, [esi - 1]
mov word [esp + edi*2 + 0x48], dx
test dx, dx
jne 0x449206
cmp dword [esp + 0xc], edi
je 0x449506
mov edi, dword [esp + 0x10]
movzx edx, word [edi + 2]
mov edi, dword [esp + 0xa0]
movzx edi, word [edi + edx*2]
mov dword [esp + 4], edi
mov esi, dword [esp + 0x20]
cmp dword [esp + 4], esi
jbe 0x44921c
mov edi, dword [esp + 0x34]
and edi, eax
cmp edi, dword [esp + 0x30]
jne 0x449240
add dword [esp + 0x10], 2
mov ebp, eax
jmp 0x4490f0
xor esi, esi
mov edi, 0x60
jmp 0x449124
mov ebx, dword [esp + 8]
test ebx, ebx
jne 0x44924c
mov dword [esp + 8], esi
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
mov edx, 4
movzx ecx, byte [esp + 0x14]
mov esi, ebx
sub esi, ebp
shl edx, cl
add dword [esp + 0x24], edx
mov edx, 1
mov ecx, esi
mov dword [esp + 0x14], esi
shl edx, cl
cmp dword [esp + 0xc], ebx
jbe 0x449498
movzx ecx, word [esp + ebx*2 + 0x48]
sub edx, ecx
test edx, edx
jle 0x449498
lea ecx, [esi + 1]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 2]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 3]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 4]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 5]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 6]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 7]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 8]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 9]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ecx, [esi + 0xa]
add edx, edx
lea ebx, [ebp + ecx]
cmp dword [esp + 0xc], ebx
jbe 0x449500
movzx ebx, word [esp + ebx*2 + 0x48]
sub edx, ebx
test edx, edx
jle 0x449500
lea ebx, [esi + 0xb]
add edx, edx
lea ecx, [ebp + ebx]
cmp dword [esp + 0xc], ecx
jbe 0x4495de
movzx ecx, word [esp + ecx*2 + 0x48]
sub edx, ecx
test edx, edx
jle 0x4495de
lea ebx, [esi + 0xc]
add edx, edx
lea ecx, [ebp + ebx]
cmp dword [esp + 0xc], ecx
jbe 0x4495de
movzx ecx, word [esp + ecx*2 + 0x48]
sub edx, ecx
test edx, edx
jle 0x4495de
lea ecx, [esi + 0xd]
lea ebx, [edx + edx]
lea edx, [ebp + ecx]
cmp dword [esp + 0xc], edx
jbe 0x449500
movzx edx, word [esp + edx*2 + 0x48]
sub ebx, edx
mov edx, ebx
test ebx, ebx
jle 0x449500
mov ebx, esi
add esi, 0xe
add edx, edx
lea ecx, [ebp + esi]
cmp dword [esp + 0xc], ecx
jbe 0x44970c
movzx ecx, word [esp + ecx*2 + 0x48]
sub edx, ecx
test edx, edx
jle 0x44970c
lea ecx, [ebx + 0xf]
mov esi, ebx
lea ebx, [edx + edx]
lea edx, [ebp + ecx]
cmp dword [esp + 0xc], edx
jbe 0x449500
movzx edx, word [esp + edx*2 + 0x48]
add esi, 0x10
mov dword [esp + 0x14], esi
sub ebx, edx
test ebx, ebx
jle 0x449500
lea esi, [esi]
nop
movzx ecx, byte [esp + 0x14]
mov edx, 1
shl edx, cl
add dword [esp + 0x2c], edx
mov esi, dword [esp + 0x2c]
cmp esi, 0x353
jbe 0x4494bf
cmp byte [esp + 0x47], 0
jne 0x44902a
cmp dword [esp + 0x2c], 0x24f
jbe 0x4494d4
cmp byte [esp + 0x46], 0
jne 0x44902a
mov esi, dword [esp + 0x38]
movzx ebx, byte [esp + 0x14]
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x24]
lea edx, [esi + edi*4]
mov byte [edx], bl
sub ecx, esi
movzx ebx, byte [esp + 0x20]
sar ecx, 2
mov byte [edx + 1], bl
mov word [edx + 2], cx
jmp 0x44921c
mov dword [esp + 0x14], ecx
jmp 0x449498
movzx ebx, byte [esp + 0x20]
test eax, eax
je 0x44957a
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x24]
mov byte [esp], bl
mov esi, dword [esp + 8]
movzx ebx, byte [esp + 0x44]
lea esi, [esi]
nop
mov edx, eax
test esi, esi
je 0x44954a
mov edx, dword [esp + 0x34]
and edx, eax
cmp edx, dword [esp + 0x30]
je 0x4495b6
movzx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
mov edx, eax
xor esi, esi
mov edi, dword [esp + 0x20]
lea edx, [ebp + edx*4]
xor ecx, ecx
mov word [edx + 2], cx
lea ecx, [edi - 1]
mov byte [edx], 0x40
mov byte [edx + 1], bl
mov edx, 1
shl edx, cl
test eax, edx
je 0x4495aa
lea esi, [esi]
nop
shr edx, 1
test eax, edx
jne 0x449570
test edx, edx
jne 0x4495aa
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
xor edx, edx
lea eax, [eax + edi*4]
mov edi, dword [esp + 0xa8]
mov dword [edi], eax
mov eax, dword [esp + 0xac]
mov edi, dword [esp + 0x20]
mov dword [eax], edi
add esp, 0x88
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
lea ecx, [edx - 1]
and eax, ecx
add eax, edx
jmp 0x449528
mov edx, eax
mov ecx, esi
shr edx, cl
jmp 0x44954a
mov ebp, 0xe
jmp 0x448c89
cmp word [esp + 0x4a], 0
jne 0x449820
mov ebp, 0xd
jmp 0x448c95
mov dword [esp + 0x14], ebx
jmp 0x449498
cmp word [esp + 0x4a], 0
jne 0x449849
mov ebp, 0xc
jmp 0x448c95
cmp word [esp + 0x4a], 0
jne 0x449856
mov ebp, 0xb
jmp 0x448c95
cmp word [esp + 0x4a], 0
jne 0x449863
mov ebp, 0xa
jmp 0x448c95
cmp word [esp + 0x4a], 0
jne 0x44982d
mov ebp, 9
jmp 0x448c95
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x3c], 0x508be0
mov dword [esp + 0x40], 0x508c20
jmp 0x44909c
cmp word [esp + 0x4a], 0
jne 0x449870
mov ebp, 4
jmp 0x448c95
cmp word [esp + 0x4a], 0
jne 0x44987d
cmp word [esp + 0x4c], 0
jne 0x44983a
mov dword [esp + 0xc], 3
mov ebp, 3
jmp 0x448d9c
cmp word [esp + 0x4a], 0
mov dword [esp + 0xc], 2
jne 0x4496be
mov ebp, 2
jmp 0x448d9c
mov dword [esp + 0xc], 1
movzx esi, word [esp + 0x4a]
mov eax, 2
mov edx, 0xffffffff
mov ebx, esi
sub eax, esi
js 0x448c77
mov ebp, 1
jmp 0x448daa
mov dword [esp + 0xc], 4
jmp 0x448d9c
mov edx, 3
movzx esi, word [esp + 0x4a]
mov eax, 2
mov dword [esp + 0xc], ebp
mov ebp, edx
mov ebx, esi
sub eax, esi
jmp 0x448daa
mov dword [esp + 0x14], esi
jmp 0x449498
cmp word [esp + 0x4a], 0
jne 0x4498da
mov ebp, 8
jmp 0x448c95
mov dword [esp + 0xc], 7
jmp 0x448d9c
mov dword [esp + 0xc], 6
jmp 0x448d9c
mov edx, 5
jmp 0x4496f3
mov dword [esp + 0xc], 5
jmp 0x448d9c
mov edx, 4
jmp 0x4496f3
mov edx, 6
jmp 0x4496f3
mov dword [esp + 0xc], 8
jmp 0x448d9c
mov edx, 7
jmp 0x4496f3
mov dword [esp + 0xc], 0xa
jmp 0x448d9c
mov edx, 9
jmp 0x4496f3
mov dword [esp + 0xc], 9
jmp 0x448d9c
mov edx, 8
jmp 0x4496f3
mov dword [esp + 0xc], 0xc
jmp 0x448d9c
mov edx, 0xb
jmp 0x4496f3
mov dword [esp + 0xc], 0xb
jmp 0x448d9c
mov edx, 0xa
jmp 0x4496f3
mov dword [esp + 0xc], 0xe
mov ebp, 0xe
jmp 0x448d9c
mov edx, 0xd
jmp 0x4496f3
mov dword [esp + 0xc], 0xd
jmp 0x448d9c
mov edx, 0xc
jmp 0x4496f3
mov edx, 0xe
jmp 0x4496f3
mov dword [esp + 0xc], ebp
jmp 0x4496be
mov dword [esp + 0xc], 0xd
jmp 0x4496be
mov dword [esp + 0xc], 9
jmp 0x4496be
mov ebp, 3
mov edx, 2
jmp 0x4496f3
mov dword [esp + 0xc], 0xc
jmp 0x4496be
mov dword [esp + 0xc], 0xb
jmp 0x4496be
mov dword [esp + 0xc], 0xa
jmp 0x4496be
mov dword [esp + 0xc], 4
jmp 0x4496be
mov dword [esp + 0xc], 3
jmp 0x4496be
cmp word [esp + 0x4a], 0
jne 0x4498ae
mov ebp, 6
jmp 0x448c95
cmp word [esp + 0x4a], 0
jne 0x4498bb
mov ebp, 5
jmp 0x448c95
mov dword [esp + 0xc], 6
jmp 0x4496be
mov dword [esp + 0xc], 5
jmp 0x4496be
cmp word [esp + 0x4a], 0
jne 0x4498e7
mov ebp, 7
jmp 0x448c95
mov dword [esp + 0xc], 8
jmp 0x4496be
mov dword [esp + 0xc], 7
jmp 0x4496be