Function at 0x447b60
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xb0
push ebx
push ebp
mov ebp, dword [esp + 0xbc]
push esi
xor esi, esi
push edi
cmp ebp, esi
mov edi, ecx
jne 0x447b89
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0xb0
ret 0x1c
push ebp
call fcn.00473df0
add esp, 4
test eax, eax
je 0x447bab
mov ax, word [esp + 0xd4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
mov ebx, dword [esp + 0xd4]
cmp bx, si
jg 0x447bc7
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0xb0
ret 0x1c
movsx ax, byte [ebp + 0xec]
push ebp
push eax
mov dword [esp + 0x20], esi
call fcn.004782e0
movsx ecx, ax
mov eax, dword [esp + 0xe4]
add esp, 8
cmp ax, 7
mov dword [esp + 0x20], ecx
je 0x448719
cmp ax, si
je 0x448719
cmp ax, 1
je 0x448719
cmp ax, 2
je 0x448719
cmp ax, 8
je 0x448719
cmp ax, 3
je 0x448719
cmp ax, 4
jne 0x447c6b
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
push 4
push edx
mov edx, dword [esp + 0xd0]
push ebx
push eax
push ecx
mov ecx, dword [edi + 0x8cec]
push edx
push ebp
call fcn.004417f0
pop edi
pop esi
mov ax, bx
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
cmp dword [0x8267b0], esi
je 0x447f7e
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
push eax
mov eax, dword [esp + 0xdc]
push eax
mov eax, dword [esp + 0xd0]
push ebx
push ecx
mov ecx, dword [edi + 0x8cec]
push edx
push eax
push ebp
call fcn.004417f0
mov dword [esp + 0x10], 1
call fcn.00478bb0
cmp eax, dword [0x6a2d04]
jge 0x447cd9
push eax
call fcn.00478ad0
mov ecx, dword [0x6a2d04]
add esp, 4
cmp eax, ecx
jge 0x447cd9
cmp dword [0x8277ec], esi
jne 0x447cd9
mov dword [esp + 0x10], esi
push 1
push 4
push ebp
mov ecx, edi
call fcn.00448f10
mov esi, eax
test esi, esi
jle 0x448862
lea ecx, [esi + 0xa]
shl ecx, 5
push ecx
call fcn.00643b70
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x447d19
mov ax, word [esp + 0xd4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
push 0x3e8
lea edx, [esp + 0x1c]
push 1
lea eax, [esp + 0x30]
push edx
push eax
push 4
push esi
push ebx
push ebp
mov ecx, edi
call fcn.0044a8e0
movsx esi, ax
movsx eax, word [esp + 0xd8]
sub eax, 2
je 0x447dd9
sub eax, 2
jne 0x447e56
xor eax, eax
test esi, esi
mov dword [esp + 0x1c], eax
jle 0x447d9d
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ecx, ebx
cmp dword [ecx], edx
jge 0x447d74
inc eax
add ecx, 0x20
cmp eax, esi
jl 0x447d68
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x447d9d
mov edx, eax
shl edx, 0x1b
sub edx, eax
add edx, esi
shl eax, 5
shl edx, 5
add eax, ebx
push edx
push eax
push ebx
call dword [fcn.0065f1b0]
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0xc8]
sub esi, eax
mov eax, dword [0x6b2a94]
cmp dword [ecx], eax
jg 0x447e56
cmp dword [ebx], eax
jle 0x447e56
push ebx
call fcn.00643cfc
mov ax, word [esp + 0xd8]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
xor eax, eax
test esi, esi
mov dword [esp + 0x1c], eax
jle 0x447e02
mov edx, dword [esp + 0xc8]
mov ecx, ebx
mov edx, dword [edx]
cmp dword [ecx], edx
jge 0x447dfa
inc eax
add ecx, 0x20
cmp eax, esi
jl 0x447dee
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x447e2d
mov edx, dword [esp + 0xc8]
mov ecx, dword [ebx]
cmp ecx, dword [edx]
jle 0x447e54
push ebx
call fcn.00643cfc
mov ax, word [esp + 0xd8]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
jle 0x447e54
mov eax, dword [esp + 0x1c]
mov ecx, eax
shl ecx, 0x1b
sub ecx, eax
add ecx, esi
shl eax, 5
shl ecx, 5
add eax, ebx
push ecx
push eax
push ebx
call dword [fcn.0065f1b0]
mov eax, dword [esp + 0x28]
add esp, 0xc
sub esi, eax
mov edx, dword [esp + 0xd8]
mov ecx, dword [edi + 0x8cec]
push 4
push edx
lea eax, [esi - 1]
push esi
push eax
push 0
push ebx
push ebp
call fcn.004417f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xd8]
push edx
mov edx, dword [esp + 0xd0]
push eax
push esi
push ebx
push ecx
push edx
mov ecx, edi
call fcn.00447830
movsx eax, word [esp + 0xd8]
dec eax
je 0x447eb3
sub eax, 2
jne 0x447f60
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x447f60
mov eax, dword [0x6a2ce4]
add eax, 0xa
shl eax, 5
push eax
call fcn.00643b70
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x447f60
mov ecx, dword [0x6a2ce4]
mov edx, eax
movsx eax, byte [ebp + 0xec]
push 1
push 4
push ecx
push edx
push eax
push ebp
call fcn.00476a50
movsx esi, ax
add esp, 0x18
test esi, esi
jle 0x447f53
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x14]
push 4
push ecx
mov ecx, dword [edi + 0x8cec]
lea edx, [esi - 1]
push esi
push edx
push 0
push eax
push ebp
call fcn.004417f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0xd8]
push 1
push edx
mov edx, dword [esp + 0xd4]
push esi
push eax
push ecx
push edx
mov ecx, edi
call fcn.00447830
mov eax, dword [esp + 0x14]
push eax
call fcn.00643cfc
add esp, 4
push ebx
call fcn.00643cfc
mov ax, word [esp + 0xd8]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
mov ecx, dword [esp + 0xdc]
movsx dx, byte [ebp + 0xec]
push ecx
push ebp
push edx
call fcn.004782e0
movsx eax, ax
add esp, 8
push eax
call fcn.00472e50
add esp, 8
mov ecx, edi
mov dword [esp + 0x20], eax
push 1
push 4
push ebp
call fcn.00448f10
mov esi, eax
mov ecx, esi
shl ecx, 5
push ecx
call fcn.00643b70
add esp, 4
lea edx, [esp + 0x24]
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], eax
push 0x3e8
push 1
push edx
push ecx
push 4
push esi
push eax
push ebp
mov ecx, edi
call fcn.0044a8e0
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x14]
movsx ebx, ax
push 4
push edx
lea eax, [ebx - 1]
push ebx
push eax
push 0
push ecx
mov ecx, dword [edi + 0x8cec]
push ebp
call fcn.004417f0
movsx eax, word [esp + 0xdc]
add eax, 0xfffffffb
mov dword [esp + 0x1c], 0xffffffff
cmp eax, 6
ja case.0x448026.7
jmp dword [eax*4 + 0x448874]
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
jle case.0x448026.7
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1c]
lea esi, [edi - 0x18]
add edi, 8
mov edx, dword [edi - 8]
push edx
call fcn.004741f0
add esp, 4
cmp eax, ebx
je 0x4480d1
mov eax, dword [edi - 8]
mov edx, dword [esp + 0x18]
add esi, 0x20
inc edx
mov dword [esp + 0x18], edx
mov dword [esi - 8], eax
mov ecx, dword [edi - 4]
mov dword [esi - 4], ecx
mov edx, dword [edi]
mov dword [esi], edx
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov dword [esi + 8], ecx
mov edx, dword [edi + 0xc]
test ebp, ebp
mov dword [esi + 0xc], edx
je 0x4480a5
mov eax, 0x51eb851f
mul dword [edi + 0x10]
shr edx, 5
mov dword [esi + 0x10], edx
jmp 0x4480ab
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov ecx, dword [edi + 0x14]
mov dword [esi + 0x14], ecx
mov dx, word [edi + 0x14]
mov word [esi + 0x14], dx
mov ax, word [edi + 0x16]
mov word [esi + 0x16], ax
mov ecx, dword [edi - 8]
push ecx
call fcn.004741f0
add esp, 4
mov ebx, eax
jmp 0x44814f
mov edx, dword [edi - 8]
mov dword [esi - 8], edx
fld dword [esi]
fld dword [edi]
fcompp
fnstsw ax
test ah, 1
je 0x4480e8
fld dword [esi]
jmp 0x4480ea
fld dword [edi]
fstp dword [esi]
fld dword [esi + 4]
fld dword [edi + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x448100
fld dword [esi + 4]
jmp 0x448103
fld dword [edi + 4]
fstp dword [esi + 4]
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
fld dword [edi + 0xc]
fadd dword [esi + 0xc]
test ebp, ebp
fstp dword [esi + 0xc]
je 0x44812b
mov eax, 0x51eb851f
mul dword [edi + 0x10]
mov eax, dword [esi + 0x10]
shr edx, 5
add eax, edx
jmp 0x448133
mov ecx, dword [edi + 0x10]
mov eax, dword [esi + 0x10]
add eax, ecx
mov dword [esi + 0x10], eax
fld dword [esi + 0x14]
fadd dword [edi + 0x14]
fstp dword [esi + 0x14]
mov dx, word [edi + 0x14]
add word [esi + 0x14], dx
mov ax, word [edi + 0x16]
add word [esi + 0x16], ax
mov eax, dword [esp + 0x10]
add edi, 0x20
dec eax
mov dword [esp + 0x10], eax
jne 0x448053
jmp case.0x448026.7
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
jle case.0x448026.7
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x20]
lea ecx, [esi - 0x18]
add esi, 8
mov edi, dword [esi - 8]
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebp
je 0x448217
add ecx, 0x20
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [ecx - 8], edi
mov edx, dword [esi - 4]
mov dword [ecx - 4], edx
mov eax, dword [esi]
mov dword [ecx], eax
mov edx, dword [esi + 4]
mov dword [ecx + 4], edx
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0xc]
test ebx, ebx
mov dword [esp + 0x18], ebp
mov dword [ecx + 0xc], edx
je 0x4481e3
mov eax, 0x51eb851f
mul dword [esi + 0x10]
shr edx, 5
mov dword [ecx + 0x10], edx
jmp 0x4481e9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ax, word [esi + 0x14]
mov word [ecx + 0x14], ax
mov dx, word [esi + 0x16]
mov word [ecx + 0x16], dx
mov edx, dword [esi - 8]
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp 0x448295
mov dword [ecx - 8], edi
fld dword [ecx]
fld dword [esi]
fcompp
fnstsw ax
test ah, 1
je 0x44822b
fld dword [ecx]
jmp 0x44822d
fld dword [esi]
fstp dword [ecx]
fld dword [ecx + 4]
fld dword [esi + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x448243
fld dword [ecx + 4]
jmp 0x448246
fld dword [esi + 4]
fstp dword [ecx + 4]
mov edx, dword [esi + 8]
mov dword [ecx + 8], edx
fld dword [esi + 0xc]
fadd dword [ecx + 0xc]
test ebx, ebx
fstp dword [ecx + 0xc]
je 0x448271
mov eax, 0x51eb851f
mul dword [esi + 0x10]
mov eax, dword [ecx + 0x10]
shr edx, 5
add eax, edx
mov dword [ecx + 0x10], eax
jmp 0x44827c
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x10]
add edx, eax
mov dword [ecx + 0x10], edx
fld dword [esi + 0x14]
fadd dword [ecx + 0x14]
fstp dword [ecx + 0x14]
mov dx, word [esi + 0x14]
add word [ecx + 0x14], dx
mov ax, word [esi + 0x16]
add word [ecx + 0x16], ax
mov eax, dword [esp + 0x10]
add esi, 0x20
dec eax
mov dword [esp + 0x10], eax
jne 0x44818c
jmp case.0x448026.7
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
jle case.0x448026.7
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
lea ecx, [esi - 0x18]
add esi, 8
mov edi, dword [esi - 8]
mov ebx, 0x2710
lea eax, [edi - 0x64]
cdq
idiv ebx
mov eax, 0x1b4e81b5
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebp
je 0x44837a
add ecx, 0x20
mov ebx, dword [esp + 0x18]
inc ebx
mov dword [ecx - 8], edi
mov edx, dword [esi - 4]
mov dword [ecx - 4], edx
mov eax, dword [esi]
mov dword [ecx], eax
mov edx, dword [esi + 4]
mov dword [ecx + 4], edx
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x18], ebx
test eax, eax
mov dword [ecx + 0xc], edx
je 0x448338
mov eax, 0x51eb851f
mul dword [esi + 0x10]
shr edx, 5
mov dword [ecx + 0x10], edx
jmp 0x44833e
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [esi + 0x14]
mov edi, 0x2710
mov dword [ecx + 0x14], edx
mov ax, word [esi + 0x14]
mov word [ecx + 0x14], ax
mov dx, word [esi + 0x16]
mov word [ecx + 0x16], dx
mov eax, dword [esi - 8]
sub eax, 0x64
cdq
idiv edi
mov eax, 0x1b4e81b5
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp 0x4483fc
mov dword [ecx - 8], edi
fld dword [ecx]
fld dword [esi]
fcompp
fnstsw ax
test ah, 1
je 0x44838e
fld dword [ecx]
jmp 0x448390
fld dword [esi]
fstp dword [ecx]
fld dword [ecx + 4]
fld dword [esi + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4483a6
fld dword [ecx + 4]
jmp 0x4483a9
fld dword [esi + 4]
fstp dword [ecx + 4]
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], edx
fld dword [esi + 0xc]
fadd dword [ecx + 0xc]
test eax, eax
fstp dword [ecx + 0xc]
je 0x4483d8
mov eax, 0x51eb851f
mul dword [esi + 0x10]
mov eax, dword [ecx + 0x10]
shr edx, 5
add eax, edx
mov dword [ecx + 0x10], eax
jmp 0x4483e3
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x10]
add edx, eax
mov dword [ecx + 0x10], edx
fld dword [esi + 0x14]
fadd dword [ecx + 0x14]
fstp dword [ecx + 0x14]
mov dx, word [esi + 0x14]
add word [ecx + 0x14], dx
mov ax, word [esi + 0x16]
add word [ecx + 0x16], ax
mov eax, dword [esp + 0x10]
add esi, 0x20
dec eax
mov dword [esp + 0x10], eax
jne 0x4482ce
jmp case.0x448026.7
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
jle case.0x448026.7
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x20]
lea ecx, [esi - 0x18]
add esi, 8
mov edi, dword [esi - 8]
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebp
je 0x4484c4
add ecx, 0x20
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [ecx - 8], edi
mov edx, dword [esi - 4]
mov dword [ecx - 4], edx
mov eax, dword [esi]
mov dword [ecx], eax
mov edx, dword [esi + 4]
mov dword [ecx + 4], edx
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0xc]
test ebx, ebx
mov dword [esp + 0x18], ebp
mov dword [ecx + 0xc], edx
je 0x448490
mov eax, 0x51eb851f
mul dword [esi + 0x10]
shr edx, 5
mov dword [ecx + 0x10], edx
jmp 0x448496
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ax, word [esi + 0x14]
mov word [ecx + 0x14], ax
mov dx, word [esi + 0x16]
mov word [ecx + 0x16], dx
mov edx, dword [esi - 8]
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp 0x448542
mov dword [ecx - 8], edi
fld dword [ecx]
fld dword [esi]
fcompp
fnstsw ax
test ah, 1
je 0x4484d8
fld dword [ecx]
jmp 0x4484da
fld dword [esi]
fstp dword [ecx]
fld dword [ecx + 4]
fld dword [esi + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4484f0
fld dword [ecx + 4]
jmp 0x4484f3
fld dword [esi + 4]
fstp dword [ecx + 4]
mov edx, dword [esi + 8]
mov dword [ecx + 8], edx
fld dword [esi + 0xc]
fadd dword [ecx + 0xc]
test ebx, ebx
fstp dword [ecx + 0xc]
je 0x44851e
mov eax, 0x51eb851f
mul dword [esi + 0x10]
mov eax, dword [ecx + 0x10]
shr edx, 5
add eax, edx
mov dword [ecx + 0x10], eax
jmp 0x448529
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x10]
add edx, eax
mov dword [ecx + 0x10], edx
fld dword [esi + 0x14]
fadd dword [ecx + 0x14]
fstp dword [ecx + 0x14]
mov dx, word [esi + 0x14]
add word [ecx + 0x14], dx
mov ax, word [esi + 0x16]
add word [ecx + 0x16], ax
mov eax, dword [esp + 0x10]
add esi, 0x20
dec eax
mov dword [esp + 0x10], eax
jne 0x448439
jmp case.0x448026.7
mov ecx, dword [0x6a2cf8]
mov eax, ebx
cdq
idiv ecx
mov eax, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0xffffffff
sub eax, edx
test ebx, ebx
mov dword [esp + 0x10], eax
jle case.0x448026.7
mov edi, dword [esp + 0x14]
lea esi, [edi - 8]
add edi, 0x18
jmp 0x448596
mov ecx, dword [0x6a2cf8]
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x4485fa
cmp dword [esp + 0x10], ecx
je 0x4485fa
fld dword [edi - 4]
fadd dword [esi - 4]
mov eax, dword [esp + 0x20]
test eax, eax
fstp dword [esi - 4]
je 0x4485c6
mov eax, 0x51eb851f
mul dword [edi]
mov eax, dword [esi]
shr edx, 5
add eax, edx
jmp 0x4485cc
mov ecx, dword [edi]
mov eax, dword [esi]
add eax, ecx
mov dword [esi], eax
movsx dx, byte [ebp + 0xec]
push edx
push ebp
call fcn.00473d40
add esp, 8
test eax, eax
je 0x44866c
mov ax, word [edi + 4]
add word [esi + 4], ax
mov cx, word [edi + 6]
add word [esi + 6], cx
jmp 0x448672
inc eax
add esi, 0x20
cmp eax, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], eax
jge case.0x448026.7
mov eax, dword [edi - 0x14]
mov dword [esi - 0x14], eax
mov ecx, dword [edi - 0x10]
mov dword [esi - 0x10], ecx
mov edx, dword [edi - 0xc]
mov dword [esi - 0xc], edx
mov eax, dword [edi - 4]
mov dword [esi - 4], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x448640
mov eax, 0x51eb851f
mul dword [edi]
shr edx, 5
mov dword [esi], edx
jmp 0x448644
mov ecx, dword [edi]
mov dword [esi], ecx
movsx dx, byte [ebp + 0xec]
push edx
push ebp
call fcn.00473d40
add esp, 8
test eax, eax
je 0x44866c
mov ax, word [edi + 4]
mov word [esi + 4], ax
mov cx, word [edi + 6]
mov word [esi + 6], cx
jmp 0x448672
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
mov eax, dword [edi - 0x18]
mov dword [esi - 0x18], eax
mov eax, dword [edi - 0x10]
cmp dword [esi - 0x10], eax
jae 0x448683
mov dword [esi - 0x10], eax
mov eax, dword [edi - 0xc]
mov ecx, dword [esi - 0xc]
cmp ecx, eax
jbe 0x448690
mov dword [esi - 0xc], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi - 8]
inc edx
inc eax
add edi, 0x20
cmp eax, ebx
mov dword [esi - 8], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
jl 0x448590
mov edx, dword [esp + 0x18]
movsx esi, word [esp + 0xd4]
lea edi, [edx + 1]
mov ecx, esi
cmp esi, edi
jl 0x4486ca
mov ecx, edi
mov eax, dword [esp + 0x18]
xor edx, edx
sub eax, esi
mov ebx, dword [esp + 0x14]
inc eax
test eax, eax
setle dl
dec edx
and eax, edx
shl eax, 5
shl ecx, 5
add eax, ebx
push ecx
push eax
mov eax, dword [esp + 0xd0]
push eax
call dword [fcn.0065f1b0]
push ebx
call fcn.00643cfc
add esp, 0x10
cmp esi, edi
mov eax, esi
jl 0x448865
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c
movsx eax, word [esp + 0xd0]
movsx esi, word [esp + 0xcc]
cmp eax, esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
jle 0x448796
mov edx, dword [esp + 0xc8]
mov ecx, eax
shl ecx, 5
add edx, ecx
mov dword [esp + 0x20], edx
mov cx, word [edx]
mov bx, word [edx - 0x20]
and cx, 0x7ff
and ebx, 0x7ff
cmp cx, bx
jae 0x448766
inc dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jle 0x448780
mov ebx, dword [esp + 0x20]
mov bx, word [ebx]
and ebx, 0x7ff
cmp cx, bx
jbe 0x448792
mov ecx, dword [esp + 0x10]
sub edx, 0x20
dec ecx
cmp ecx, esi
mov dword [esp + 0x10], ecx
jg 0x44874b
jmp 0x448796
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc8]
push 0
push ecx
mov ecx, dword [edi + 0x8cec]
push ebx
push eax
push esi
push edx
push ebp
call fcn.00441120
movsx eax, word [esp + 0xcc]
dec esi
mov dword [esp + 0x14], 0
cmp esi, eax
jl 0x448862
mov dword [esp + 0x10], esi
jle 0x44883a
mov edx, dword [esp + 0xc8]
mov ecx, esi
shl ecx, 5
add edx, ecx
mov dword [esp + 0x20], edx
mov cx, word [edx]
mov bx, word [edx - 0x20]
and cx, 0x7ff
and ebx, 0x7ff
cmp cx, bx
jae 0x44880a
inc dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jle 0x448824
mov ebx, dword [esp + 0x20]
mov bx, word [ebx]
and ebx, 0x7ff
cmp cx, bx
jbe 0x448836
mov ecx, dword [esp + 0x10]
sub edx, 0x20
dec ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jg 0x4487ef
jmp 0x44883a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc8]
push 1
push ecx
mov ecx, dword [edi + 0x8cec]
push ebx
push esi
push eax
push edx
push ebp
call fcn.00441120
mov ax, bx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x1c