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

Disassembly:
sub esp, 0x4e4
push ebx
push ebp
push esi
mov esi, dword [esp + 0x504]
push edi
push 1
push esi
call fcn.00443f70
mov ecx, dword [esp + 0x50c]
and esi, 1
movsx eax, ax
add esp, 8
mov dword [esp + 0x30], 1
mov bp, word [ecx + eax*2 + 8]
mov dword [esp + 0x28], 0
test si, si
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], esi
lea edi, [esi + 3]
jne 0x4482e9
cmp bp, 0x12
jne 0x4482d6
push 1
push 0x12
call fcn.00443ea0
add esp, 8
mov dword [esp + 0x20], eax
mov ebp, eax
cmp bp, 0x8c
jle 0x4482e9
mov dword [esp + 0x20], 0x8c
mov ebp, dword [esp + 0x20]
movsx ebx, di
lea edx, [esp + 0x3b4]
mov dword [esp + 0x24], 0
test ebx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ebx
jle 0x448575
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x500]
lea ecx, [eax + ebp - 1]
lea eax, [esp + 0x3c]
push ecx
push edx
push eax
call fcn.00448840
mov esi, dword [esp + 0x508]
lea edx, [esp + 0x348]
add esp, 0xc
xor ebx, ebx
lea ecx, [esp + 0x33c]
sub esi, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x448350
mov esi, dword [esp + 0x18]
xor eax, eax
test ebx, ebx
jl 0x44837d
mov ecx, dword [esp + 0x14]
lea edi, [esp + 0x44]
add esi, ecx
lea ebp, [ebx + 1]
mov dx, word [esi]
mov cx, word [edi]
push edx
push ecx
push eax
call fcn.00444080
add esp, 0xc
sub esi, 2
add edi, 2
dec ebp
jne 0x448363
push eax
call fcn.00444060
mov ecx, dword [esp + 0x18]
add esp, 4
inc ebx
mov word [ecx], ax
add ecx, 2
cmp ebx, 0x3c
mov dword [esp + 0x14], ecx
jl 0x44834c
lea esi, [esp + 0x2c6]
lea ebx, [esp + 0x42]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 4
jmp 0x4483b7
mov esi, dword [esp + 0x14]
mov dx, word [ebx]
push 0x2000
push edx
call fcn.00444160
mov word [esi - 2], ax
mov eax, dword [esp + 0x504]
add esp, 8
mov ebp, 0x3b
lea edi, [eax + 2]
mov cx, word [esi + 0x76]
push ecx
call fcn.00444230
mov dx, word [edi]
mov cx, word [ebx]
push edx
push ecx
push eax
call fcn.00444080
push eax
call fcn.00444060
mov word [esi], ax
add esp, 0x14
add edi, 2
add esi, 2
dec ebp
jne 0x4483db
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
sub ebx, 2
sub ecx, 0x78
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
jne 0x4483b3
lea edi, [esp + 0x15c]
mov dword [esp + 0x10], 5
mov ebx, dword [esp + 0x4f8]
xor esi, esi
mov ebp, 0x3c
mov dx, word [edi]
mov ax, word [ebx]
push edx
push eax
call fcn.00443ff0
push 1
push eax
call fcn.004441f0
push eax
push esi
call fcn.004440c0
add esp, 0x18
add edi, 2
add ebx, 2
dec ebp
mov esi, eax
jne 0x44843e
push 1
push esi
call fcn.00444190
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
add ecx, 4
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
jne 0x448430
lea esi, [esp + 0x15c]
mov ebx, 5
xor eax, eax
mov edi, 0x3c
mov cx, word [esi]
push ecx
push ecx
push eax
call fcn.00444080
add esp, 0xc
add esi, 2
dec edi
jne 0x44849e
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
add ecx, 4
dec ebx
mov dword [esp + 0x1c], ecx
jne 0x448497
mov eax, 1
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
test eax, eax
jle 0x448541
lea edi, [esp + 0x15c]
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x10]
xor esi, esi
mov ebp, 0x3c
mov dx, word [edi]
mov ax, word [ebx]
push edx
push eax
call fcn.00443ff0
push 1
push eax
call fcn.004441f0
push eax
push esi
call fcn.004440c0
add esp, 0x18
add edi, 2
add ebx, 2
dec ebp
mov esi, eax
jne 0x4484f0
push 2
push esi
call fcn.00444190
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
add ecx, 4
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jne 0x4484e5
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
add edx, 0x78
cmp eax, 5
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x4484d6
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x44830b
mov esi, dword [esp + 0x34]
mov ebx, ecx
lea ebx, [ebx + ebx*4]
xor edi, edi
shl ebx, 2
test ebx, ebx
jle 0x4485bb
lea ecx, [esp + 0x3b4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
push eax
call fcn.00444250
add esp, 4
cmp eax, edi
jle 0x4485a5
mov edi, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x448590
push edi
call fcn.00444360
add esp, 4
mov dword [esp + 0x18], eax
test ebx, ebx
jle 0x448600
lea edi, [esp + 0xbc]
lea esi, [esp + 0x3b4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
push ecx
push edx
call fcn.00444190
push eax
call fcn.00444060
mov word [edi], ax
add esp, 0xc
add esi, 4
add edi, 2
dec ebx
jne 0x4485da
mov esi, dword [esp + 0x34]
lea eax, [esi + ebp + 1]
lea ecx, [ebp - 1]
push eax
push ecx
call fcn.00446920
mov ebx, eax
push 2
push ebx
call fcn.00443f00
add eax, 0x33
add esp, 0x10
cmp ax, 0x55
mov word [esp + 0x1c], ax
jle 0x448630
mov word [esp + 0x1c], 0x55
push 3
push ebx
call fcn.00443f00
add eax, 0x5d
add esp, 8
cmp ax, 0xaa
mov word [esp + 0x1e], ax
jle 0x448650
mov word [esp + 0x1e], 0xaa
mov eax, dword [esp + 0x2c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
jle 0x448742
lea edx, [esp + 0xbc]
mov dword [esp + 0x10], edx
mov edx, dword [0x4e2ab8]
xor eax, eax
test edx, edx
jne 0x448696
test si, si
jne 0x448690
movsx edx, bp
lea edx, [edx + ecx - 1]
cmp edx, 0x3a
jl 0x44869b
jmp 0x448696
cmp bp, 0x3a
jl 0x44869b
mov eax, 1
mov ebx, dword [eax*4 + 0x4d583c]
mov dword [esp + 0x14], 0
movsx eax, word [esp + eax*2 + 0x1c]
test eax, eax
mov dword [esp + 0x38], eax
jle 0x448722
mov edi, dword [esp + 0x10]
xor esi, esi
mov ebp, 0x14
mov ax, word [ebx]
push 1
push eax
mov ax, word [edi]
push eax
add ebx, 2
call fcn.00443ff0
add esp, 8
push eax
call fcn.004441f0
push eax
push esi
call fcn.004440c0
add esp, 0x10
add edi, 2
dec ebp
mov esi, eax
jne 0x4486c2
cmp esi, dword [esp + 0x18]
jle 0x448709
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4486b7
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
inc ecx
add edx, 0x28
cmp ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], edx
jl 0x448671
test si, si
jne 0x44875d
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], 1
lea ecx, [eax + ebp - 1]
mov dword [esp + 0x20], ecx
mov ebp, ecx
mov ecx, dword [esp + 0x508]
mov edi, dword [esp + 0x504]
movsx edx, cx
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
shl edx, 4
push 1
push ecx
lea eax, [edx + edi]
mov word [eax + 0xc], bx
mov word [eax + 0xe], si
call fcn.00443f70
mov ecx, dword [esp + 0x508]
push esi
movsx eax, ax
push ebx
push ebp
lea edx, [esp + 0x50]
push ecx
push edx
mov word [edi + eax*2 + 8], bp
call fcn.004488a0
mov edi, dword [esp + 0x514]
mov ebx, dword [esp + 0x518]
add esp, 0x1c
xor esi, esi
sub ebx, edi
mov dword [esp + 0x38], ebx
mov ax, word [edi]
push eax
call fcn.00444230
push 1
push eax
call fcn.004441f0
add esp, 0xc
test esi, esi
jl 0x44880e
lea ecx, [esi + 1]
lea ebp, [esp + 0x3c]
add ebx, edi
mov dword [esp + 0x28], ecx
mov dx, word [ebx]
mov cx, word [ebp]
push edx
push ecx
push eax
call fcn.004440a0
mov ecx, dword [esp + 0x34]
add esp, 0xc
sub ebx, 2
add ebp, 2
dec ecx
mov dword [esp + 0x28], ecx
jne 0x4487e7
mov ebx, dword [esp + 0x38]
push 1
push eax
call fcn.00444190
push eax
call fcn.00444060
add esp, 0xc
mov word [edi], ax
inc esi
add edi, 2
cmp esi, 0x3c
jl 0x4487c2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e4
ret