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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
push edi
jae 0x44790e
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x447917
test byte [ebp + 0x20], 2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
je 0x4464bd
test byte [ebp + 0x20], 4
je 0x4464af
mov ecx, dword [esi + 0x70]
cmp ecx, 0x3e8
jge 0x44791e
mov eax, dword [esi + 0x6c]
lea eax, [eax + ecx*8]
inc ecx
mov dword [esi + 0x70], ecx
jmp 0x4464b2
lea eax, [ebp - 0x6c]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 4], ebx
mov dword [eax], ecx
mov dword [ebp + 0x1c], eax
movzx ecx, byte [edi]
xor edx, edx
cmp dword [esi + 0x44], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp + 0x14], ecx
je 0x4464e1
cmp ebx, dword [esi + 0x54]
jb 0x4464e1
cmp ebx, dword [esi + 0x58]
jbe 0x4464e1
mov dword [esi + 0x48], 1
cmp ecx, 0x62
ja case.0x4464f1.13
movzx eax, byte [ecx + 0x448038]
jmp dword [eax*4 + 0x447f50]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x5f
jne 0x44652c
mov eax, dword [esi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x44651e
cmp ecx, 0xffff
je 0x446548
cmp ecx, dword [eax + 4]
je 0x446548
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x446598
cmp cl, 0x5e
jne 0x446550
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, dword [ebp + 0x10]
jge 0x44651e
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x44651e
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x446528
cmp cl, 0x60
jne 0x446561
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x44659c
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
cmp eax, 1
je 0x447805
test eax, eax
jne 0x447f48
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
add edi, eax
xor edx, edx
cmp ecx, edx
jne 0x4465a5
cmp byte [edi], 0x4e
jne 0x4466b6
add edi, 3
cmp dword [ebp + 0x14], 0x5d
jne 0x4478a6
push 2
pop eax
jmp 0x4478a8
mov edi, dword [esi + 0x74]
cmp edi, edx
je 0x4479e1
cmp dword [edi + 4], edx
jne 0x4479e1
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0044a470
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x4464bd
movzx eax, byte [edi + 1]
mov dword [ebp + 0x18], eax
inc edi
inc edi
jmp 0x4464bd
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x18]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
cmp eax, 1
je 0x446641
test eax, eax
jne 0x447f48
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x4464f1.82
cmp byte [edi], 0x4f
je 0x4479da
test byte [ebp + 0x20], 1
jne 0x4479f4
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446654
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x10], eax
jmp 0x4464bd
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x18]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
cmp eax, 1
je 0x4479da
test eax, eax
jne 0x447f48
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x4464f1.83
test byte [ebp + 0x20], 1
jne 0x4479f4
add edi, 3
jmp 0x4464bd
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jb 0x4479da
jmp 0x4466b6
cmp dword [0x4663c0], edx
je 0x446752
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x50]
sub ecx, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov ecx, dword [esi + 0x58]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov ecx, ebx
sub ecx, eax
xor eax, eax
mov ah, byte [edi + 2]
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x4c], ecx
mov al, byte [edi + 3]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x64]
push eax
call dword [0x4663c0]
test eax, eax
pop ecx
jg 0x4479da
jl 0x447f48
add edi, 6
jmp 0x4464bd
mov dword [ebp + 0x14], edi
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push dword [ebp + 0x1c]
lea eax, [edi + 3]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
cmp eax, 1
je 0x446798
test eax, eax
jne 0x447f48
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446760
mov al, byte [edi]
cmp al, 0x57
je 0x4467a6
cmp al, 0x4e
jne 0x4479da
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x4467a6
cmp byte [edi], 0x4f
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x10], eax
je 0x4466b6
cmp ebx, dword [ebp - 0x10]
je 0x4466b6
lea eax, [edi + 3]
cmp byte [eax], 0x13
mov dword [ebp - 0x14], eax
jne 0x4467ea
mov ecx, dword [ebp + 0x18]
movzx eax, byte [edi + 4]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x24]
inc eax
cmp byte [edi], 0x51
push eax
jne 0x4478b0
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x14]
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
mov edi, dword [ebp + 0x14]
jmp 0x4478fc
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x4464f1.78
jmp 0x4464bd
mov eax, dword [ebp + 0x24]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446858
jmp 0x4466b6
inc edi
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x4e
je 0x44686f
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 0
push dword [ebp + 0x1c]
add eax, 3
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
jmp 0x4464bd
xor ecx, ecx
mov ch, byte [edi + 1]
mov eax, edi
mov cl, byte [edi + 2]
sub eax, ecx
mov cl, byte [eax]
cmp cl, 0x5b
mov dword [ebp + 0x14], eax
jb 0x4468d2
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx]
mov dword [ebp + 0x1c], edx
jmp 0x4468d6
and dword [ebp - 0x10], 0
cmp cl, 0x52
je 0x4479eb
cmp cl, 0x53
je 0x4479eb
cmp cl, 0x54
je 0x4479eb
cmp cl, 0x55
je 0x4479eb
cmp cl, 0x57
je 0x4479eb
cmp cl, 0x59
je 0x446911
cmp cl, 0x5c
jne 0x44699e
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [esi + 0x14]
mov dword [ebp - 0x18], edx
mov dword [esi + 0x64], edx
jl 0x446930
mov dword [esi + 0x2c], 1
jmp 0x446962
mov edx, dword [esi + 0x10]
sub edx, dword [ebp - 0x18]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
shl ecx, 2
mov dword [eax + ecx], edx
mov edx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x50]
mov dword [ecx + edx + 4], eax
mov edx, dword [ebp - 0x18]
lea eax, [edx + edx]
cmp dword [ebp + 0x10], eax
jg 0x44695f
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x44699e
cmp dword [ecx + 4], edx
jne 0x44699e
mov edi, ecx
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.00449bc0
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x4464bd
cmp byte [edi], 0x4f
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0x18], ecx
je 0x4466b6
cmp ebx, dword [ebp - 0x10]
je 0x4466b6
cmp byte [eax], 0x5b
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x51
mov dword [ebp + 0x20], eax
jne 0x4478d5
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push dword [ebp + 0x1c]
add edi, 3
push ecx
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
mov edi, dword [ebp + 0x14]
jmp 0x4478a0
cmp dword [esi + 0x30], edx
je 0x446a06
cmp ebx, dword [esi + 0x50]
je 0x4479da
test byte [ebp + 0x18], 2
je case.0x4464f1.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x446a70
cmp ebx, dword [esi + 0x54]
je 0x4479da
cmp dword [esi + 0x18], edx
je 0x446a43
cmp ebx, ecx
jbe 0x4479da
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push ebx
call fcn.00448892
add esp, 0x10
test eax, eax
je 0x4479da
jmp 0x446a70
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb 0x4479da
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne 0x4479da
cmp eax, 1
je 0x446a70
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne 0x4479da
inc edi
jmp 0x4464bd
cmp ebx, dword [esi + 0x50]
jmp 0x446a6a
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x446a6a
test byte [ebp + 0x18], 2
je 0x446acd
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x446ac8
cmp dword [esi + 0x18], edx
je 0x446aa6
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
jmp 0x446a36
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4479da
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4479da
cmp ecx, 1
je 0x446a70
mov al, byte [ebx + 1]
jmp 0x446a67
cmp dword [esi + 0x34], edx
jmp 0x446a6a
cmp dword [esi + 0x34], edx
jne 0x4479da
cmp dword [esi + 0x3c], edx
jne case.0x4464f1.18
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x446a70
cmp dword [esi + 0x18], edx
je 0x446b09
cmp ebx, eax
jae 0x4479da
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
add esp, 0x10
test eax, eax
je 0x4479da
jmp 0x446b32
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4479da
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4479da
cmp ecx, 1
je 0x446b32
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x4479da
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x446a81
cmp ebx, dword [esi + 0x54]
jb 0x4479da
jmp 0x446a70
cmp ebx, dword [esi + 0x50]
je 0x446b62
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x446b62
xor ecx, ecx
inc ecx
jmp 0x446b64
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x446b7c
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x446b7a
xor eax, eax
inc eax
jmp 0x446b7e
xor edx, edx
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 4
jne 0x446b8f
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x446b96
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x4464bd
jmp 0x4479da
test byte [ebp + 0x18], 4
jne case.0x4464f1.12
cmp dword [esi + 0x18], edx
je 0x446bd1
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x4464f1.12
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
add esp, 0x10
test eax, eax
jne 0x4479da
jmp case.0x4464f1.12
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x4464f1.12
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x4464f1.12
cmp eax, 1
je 0x4479da
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4479da
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae 0x4479da
jmp 0x446a70
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x446a6a
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x446a3b
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x446a6a
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x446a3b
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x446a6a
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x446a3b
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x4479da
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x4479da
cmp eax, 0xc
jbe 0x446a70
cmp eax, 0xd
je 0x446cec
cmp eax, 0x85
je 0x446a70
cmp eax, 0x2027
jbe 0x4479da
cmp eax, 0x2029
ja 0x4479da
jmp 0x446a70
cmp ebx, ecx
jae 0x446a70
cmp byte [ebx], 0xa
jne 0x446a70
inc ebx
jmp 0x446a70
xor eax, eax
mov ah, byte [edi + 1]
add edi, 3
mov al, byte [edi - 1]
add eax, eax
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
jge 0x446d2b
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, edx
jl 0x446d2b
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x446d31
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp - 0x18], edx
jb 0x446e0c
cmp al, 0x45
jbe 0x446d7a
cmp al, 0x47
ja 0x446e0c
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
jne 0x446d75
mov dword [ebp - 4], SysReAllocString
add edi, 5
jmp 0x446da8
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4592d4]
movsx eax, byte [eax + 0x4592dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446da8
mov dword [ebp - 4], SysReAllocString
test edx, edx
je 0x4464bd
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446de6
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.004463f6
test eax, eax
pop ecx
pop ecx
je 0x4479da
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x446dba
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
je 0x447b8e
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x447b6f
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.004463f6
test eax, eax
pop ecx
pop ecx
je 0x4479da
add ebx, dword [ebp - 0x18]
jmp 0x4464bd
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x14], eax
mov al, byte [edi]
cmp al, 0x40
jb 0x446ea6
cmp al, 0x45
jbe 0x446e76
cmp al, 0x47
ja 0x446ea6
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
jne 0x446e71
mov dword [ebp - 4], SysReAllocString
add edi, 5
jmp 0x446eaf
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4592d4]
movsx eax, byte [eax + 0x4592dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446eaf
mov dword [ebp - 4], SysReAllocString
jmp 0x446eaf
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446eec
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je 0x4479da
inc dword [ebp + 0x14]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + 0x14], ecx
jle 0x446eb9
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
mov dword [ebp + 0x14], ecx
je 0x447c55
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x447c36
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x4479da
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne 0x4479da
jmp 0x446603
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x4479da
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jmp 0x446f23
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x446fcd
mov dword [ebp - 8], 1
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x20
sete al
mov dword [ebp - 0xc], eax
jmp 0x446f5a
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x446fc6
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x446f89
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x446fcd
movzx eax, byte [edi]
sub eax, 0x19
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4592d4]
movsx eax, byte [eax + 0x4592dc]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x446fcd
mov dword [ebp - 4], SysReAllocString
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x4479da
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x447094
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x44701b
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446fff
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
jne 0x447cc4
mov dword [ebp - 0xc], ebx
jmp 0x447049
cmp ebx, dword [esi + 0x54]
jae 0x44704e
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
jne 0x44704e
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447033
cmp dword [ebp - 8], 0
jne 0x4464bd
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
dec ebx
test eax, eax
jne 0x447f48
cmp ebx, dword [ebp - 0xc]
jae 0x447068
jmp 0x4479da
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4470b2
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44709e
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
jne 0x447d1f
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x4470e2
cmp ebx, dword [esi + 0x54]
jae 0x4470e2
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x4470e2
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x4470cf
cmp dword [ebp - 8], 0
jne 0x4464bd
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
dec ebx
test eax, eax
jne 0x447f48
cmp ebx, dword [ebp - 0xc]
jae 0x4470fc
jmp 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x18], 1
je 0x447154
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [ecx + eax]
inc edi
cmp byte [edx + eax], cl
jne 0x4464bd
jmp 0x4479da
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jmp 0x447149
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x4471e9
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x2d
sete al
mov dword [ebp - 0xc], eax
jmp 0x447167
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x4471e2
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x44718f
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x4471e9
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 8], 1
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
jmp 0x447167
movzx eax, byte [edi]
sub eax, 0x26
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4592d4]
movsx eax, byte [eax + 0x4592dc]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x4471e9
mov dword [ebp - 4], SysReAllocString
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x4479da
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x4472b0
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447237
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44721b
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
jne 0x447d73
mov dword [ebp - 0xc], ebx
jmp 0x447265
cmp ebx, dword [esi + 0x54]
jae 0x44726a
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
je 0x44726a
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x44724f
cmp dword [ebp - 8], 0
jne 0x4464bd
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x447284
jmp 0x4479da
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4472ce
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4472ba
cmp ecx, dword [ebp - 4]
je 0x4464bd
cmp dword [ebp - 0xc], 0
jne 0x447dce
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x4472fe
cmp ebx, dword [esi + 0x54]
jae 0x4472fe
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x4472fe
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x4472eb
cmp dword [ebp - 8], 0
jne 0x4464bd
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x447318
jmp 0x4479da
xor ecx, ecx
mov ch, byte [edi + 1]
mov dword [ebp - 0xc], 1
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
add edi, 3
jmp 0x4473e7
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x3a
sete al
mov dword [ebp - 0xc], eax
jmp 0x447356
mov dword [ebp - 8], 1
xor ecx, ecx
mov dword [ebp - 0x10], ecx
inc edi
jmp 0x4473e0
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x447384
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
inc edi
jmp 0x4473e7
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 8], 1
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
jmp 0x447356
movzx eax, byte [edi]
sub eax, 0x33
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4592d4]
movsx eax, byte [eax + 0x4592dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x4473e7
mov dword [ebp - 4], SysReAllocString
movzx eax, byte [edi]
mov edx, dword [esi + 0x54]
mov dword [ebp - 0x14], eax
mov eax, edx
sub eax, ebx
inc edi
cmp ecx, eax
jg 0x4479da
test ecx, ecx
jle 0x4475ef
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x447eb1.13
jmp dword [eax*4 + 0x44809c]
test byte [ebp + 0x18], 4
jne case.0x447414.12
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
cmp dword [esi + 0x18], 0
je 0x447459
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447481
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
add esp, 0x10
test eax, eax
jne 0x4479da
mov ecx, dword [ebp - 0x10]
jmp 0x447481
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x447481
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x447481
cmp eax, 1
je 0x4479da
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4479da
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44742f
jmp 0x4475ef
add ebx, ecx
jmp 0x4475ef
cmp ecx, 1
mov dword [ebp + 0x14], 1
jl 0x4475ef
cmp ebx, edx
jae 0x4479da
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x4479da
cmp eax, 0xc
jle 0x4474dc
cmp eax, 0xd
je 0x4474d2
cmp eax, 0x85
jne 0x4479da
jmp 0x4474dc
cmp ebx, edx
jae 0x4474dc
cmp byte [ebx], 0xa
jne 0x4474dc
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4474a6
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4474fa
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44752a
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44755a
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447583
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4475ac
jmp 0x4475ef
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x4475ef
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je 0x4479da
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4475d5
mov edx, dword [ebp - 4]
cmp ecx, edx
je 0x4464bd
cmp dword [ebp - 0xc], 0
jne 0x447e29
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
mov dword [ebp - 0xc], ebx
ja case.0x447eb1.13
jmp dword [eax*4 + 0x4480c8]
test byte [ebp + 0x18], 4
jne case.0x447616.12
cmp ecx, edx
mov dword [ebp + 0x14], ecx
jge 0x4477bf
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4477bf
cmp dword [esi + 0x18], 0
je 0x447659
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
add esp, 0x10
test eax, eax
jne 0x4477bf
jmp 0x44767e
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44767e
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44767e
cmp ecx, 1
je 0x4477bf
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4477bf
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x44762e
jmp 0x4477bf
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x44769e
mov ecx, eax
add ebx, ecx
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x4477bf
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x4476d0
inc ebx
cmp ebx, edx
jae 0x4477bf
cmp byte [ebx], 0xa
jne 0x4476eb
jmp 0x4476ea
cmp eax, 0xa
je 0x4476ea
cmp eax, 0xb
je 0x4476ea
cmp eax, 0xc
je 0x4476ea
cmp eax, 0x85
jne 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4476b0
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4476fe
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x44772b
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x44774d
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x44776b
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447789
jmp 0x4477bf
cmp ecx, edx
jge 0x4477bf
cmp ebx, dword [esi + 0x54]
jae 0x4477bf
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x4477bf
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4477a7
cmp dword [ebp - 8], 0
jne 0x4464bd
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
dec ebx
test eax, eax
jne 0x447f48
cmp ebx, dword [ebp - 0xc]
jae 0x4477d9
jmp 0x4479da
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x44781d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447813
jmp 0x4465a5
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [ebp - 0x18], eax
add eax, eax
cmp eax, dword [esi + 0x14]
jl 0x447925
cmp ecx, 0x5b
mov dword [ebp + 0x20], 2
jge 0x447886
mov dword [ebp + 0x20], edx
jmp 0x447886
mov eax, dword [ebp + 0x24]
inc eax
push eax
push dword [ebp + 0x20]
movzx eax, byte [edi]
push dword [ebp + 0x1c]
movzx eax, byte [eax + 0x459608]
push dword [ebp + 0x18]
add eax, edi
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x4e
je 0x44784e
movzx eax, byte [edi]
movzx eax, byte [eax + 0x459608]
add edi, eax
or dword [ebp + 0x20], 4
jmp 0x447903
xor eax, eax
or eax, 4
mov dword [ebp + 0x20], eax
jmp 0x447903
push 2
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
mov edi, dword [ebp - 0x14]
jmp 0x4478fc
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push eax
push dword [ebp + 0x1c]
push dword [ebp - 0x1c]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
add edi, 3
mov dword [ebp + 0x20], 4
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x446474
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x447f47
push 0xffffffffffffffeb
jmp 0x447f47
push 0xffffffffffffffea
jmp 0x447f47
mov ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 2
mov dword [ebp - 0x10], ecx
add ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov ecx, dword [esi + 0x64]
mov dword [ebp - 0x14], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x50]
cmp dword [ebp + 0x14], 0x5c
mov dword [eax], ecx
jne 0x447967
mov dword [ebp + 0x20], 2
jmp 0x44796b
and dword [ebp + 0x20], 0
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x459608]
push dword [ebp + 0x1c]
add eax, edi
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x64], eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447972
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0xc]
mov dword [eax + ecx + 4], edx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx + eax*4], edx
xor eax, eax
jmp 0x447f48
cmp dword [esi + 0x40], edx
je 0x4479eb
cmp ebx, dword [esi + 0x58]
je 0x4479da
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
xor eax, eax
inc eax
jmp 0x447f48
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x14], ecx
jne 0x447a15
mov dword [ebp - 0x30], edx
jmp 0x447a20
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0x1e
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], eax
jg 0x447a48
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x24], ecx
jmp 0x447a64
shl eax, 2
push eax
call dword [0x464148]
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
jne 0x447a61
push 0xfffffffffffffffa
jmp 0x447f47
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x24]
call fcn.00449bc0
mov eax, dword [esi + 0x58]
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov dword [esi + 0x58], ebx
mov al, byte [eax]
cmp al, 0x5b
sbb edi, edi
and edi, 0xfffffffe
inc edi
inc edi
inc ecx
mov dword [ebp - 8], ecx
push dword [ebp - 8]
movzx eax, al
movzx eax, byte [eax + 0x459608]
add eax, dword [ebp + 0x14]
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446454
add esp, 0x20
cmp eax, 1
je 0x447b1b
test eax, eax
jne 0x447f48
lea eax, [ebp - 0x34]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [ebp - 0x24]
push dword [esi + 0xc]
call fcn.00449bc0
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x14], eax
mov al, byte [eax]
cmp al, 0x4e
je 0x447a94
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x4479da
push dword [ebp - 0x24]
call dword [0x46414c]
pop ecx
jmp 0x4479da
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x4479f4
push dword [ebp - 0x24]
call dword [0x46414c]
pop ecx
jmp 0x4479f4
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.004463f6
test eax, eax
pop ecx
pop ecx
je 0x4479da
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447b3f
jmp 0x447f48
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x14], ecx
jge 0x447bc7
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.004463f6
test eax, eax
pop ecx
pop ecx
je 0x447bbe
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447b99
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
sub ebx, dword [ebp - 0x18]
cmp ebx, dword [ebp - 0xc]
jae 0x447bce
jmp 0x4479da
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447bfc
jmp 0x447f48
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
jge 0x447c91
cmp ebx, dword [esi + 0x54]
jae 0x447c88
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x447c88
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447c5d
cmp ebx, dword [ebp - 0xc]
jb 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
jne 0x447f48
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x447c98
jmp 0x4479da
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447d00
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447cd1
jmp 0x447f48
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447d54
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447d2c
jmp 0x447f48
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447daf
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447d80
jmp 0x447f48
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447e03
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
cmp ebx, dword [esi + 0x54]
jae 0x4479da
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447ddb
jmp 0x447f48
push 0xfffffffffffffff2
jmp 0x447f47
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x447f25
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x4479da
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4479da
test byte [ebp + 0x18], 4
jne 0x447e9e
cmp dword [esi + 0x18], 0
je 0x447e79
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448820
add esp, 0x10
test eax, eax
jne 0x4479da
jmp 0x447e9e
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447e9e
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447e9e
cmp ecx, 1
je 0x4479da
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4479da
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ebx]
add ecx, 0xfffffffb
inc ebx
cmp ecx, 0xa
ja case.0x447eb1.13
jmp dword [ecx*4 + 0x4480f4]
cmp eax, 0xa
jb 0x4479da
cmp eax, 0xc
jbe case.0x447eb1.11
cmp eax, 0xd
je 0x447ed2
cmp eax, 0x85
jmp 0x447ee6
cmp ebx, dword [esi + 0x54]
jae case.0x447eb1.11
cmp byte [ebx], 0xa
jne case.0x447eb1.11
inc ebx
jmp case.0x447eb1.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jne 0x4479da
jmp case.0x447eb1.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x447f19
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x447ee6
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x447f19
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x447ee6
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x4479da
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446454
add esp, 0x20
test eax, eax
je 0x447e3c
jmp 0x447f48
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret