Function at 0x44ac10
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x20]
mov ebx, dword [esi + 0x7c]
mov dword [ebp - 0x58], ecx
push edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
shr ecx, 0x13
and ecx, 1
mov dword [ebp - 0x6c], ecx
xor eax, eax
mov ecx, edi
shr ecx, 2
and ecx, 1
mov dword [ebp - 0x50], ecx
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x64], eax
test cl, 8
je 0x44ac7f
mov dword [ebx], 0x80090000
jmp 0x44ac8a
test cl, 4
je 0x44ac94
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
test edi, 0x2000000
je 0x44ad37
cmp dword [ebp + 8], edx
jae 0x44c9f9
mov eax, dword [ebp - 0x34]
lea esp, [esp]
cmp ebx, dword [ebp - 0x58]
jae 0x44ad2a
mov edx, dword [ebp + 8]
movzx edi, byte [edx]
mov ecx, edx
inc edx
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0xc], edi
mov dword [ebp + 8], edx
je 0x44ad15
mov dword [ebp + 0xc], ebx
test eax, eax
je 0x44acec
mov edx, ecx
sub edx, dword [eax + 4]
sub edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
lea edx, [ebx - 0x10]
cmp eax, edx
jne 0x44acec
cmp dword [eax + 0xc], 0xff
je 0x44ad07
mov eax, ebx
lea edx, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
jmp 0x44ad0a
mov edx, dword [ebp + 0xc]
sub ecx, dword [esi + 0x1c]
mov ebx, edx
mov edx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebx], ecx
add ebx, 4
cmp edx, dword [ebp - 4]
jb 0x44acb0
mov dword [ebp - 0x34], eax
jmp 0x44c9f9
mov dword [ebp - 0x34], eax
mov ecx, 0xa3
jmp 0x44cabf
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x68], eax
xor edx, edx
mov ecx, 0xc
div ecx
mov esi, dword [esi + 0x14]
sub esi, edx
add esi, dword [ebp - 0x68]
mov dword [ebp - 0x68], esi
test edi, 0x1000000
je 0x44ad65
or edi, 0x80
mov dword [ebp + 0xc], edi
mov edi, dword [ebp + 8]
jmp case.default.0x44b381
mov ecx, dword [ebp - 4]
cmp edi, ecx
jae 0x44c9ef
cmp ebx, dword [ebp - 0x58]
jae 0x44c749
mov eax, dword [ebp + 0x14]
movzx esi, word [ebp - 0x14]
mov edx, dword [eax]
cmp esi, dword [edx + 0x20]
ja 0x44c760
movzx esi, byte [edi]
mov dword [ebp - 0x40], edi
inc edi
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0xc], esi
mov dword [ebp + 8], edi
je 0x44ae16
cmp esi, 0x5c
jne 0x44adc4
cmp edi, ecx
jae 0x44adc4
cmp byte [edi], 0x45
jne 0x44adc4
inc edi
mov dword [ebp - 0x3c], 0
mov dword [ebp + 8], edi
jmp case.default.0x44b381
cmp dword [ebp - 0x48], 0
jg case.0x44b09d.34
cmp dword [ebp - 0x4c], 0
jne 0x44adfe
mov eax, dword [ebp - 0x44]
mov ecx, eax
dec eax
mov dword [ebp - 0x44], eax
test ecx, ecx
jg 0x44adfe
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x50]
push edx
mov edx, dword [ebp - 0x40]
push eax
mov eax, ebx
lea esi, [ebp - 0x34]
call fcn.0044abb0
mov esi, dword [ebp - 0xc]
add esp, 8
mov ebx, eax
mov dword [ebx], esi
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x38], 0
jmp case.default.0x44b381
cmp dword [ebp - 0x4c], 0
mov edx, dword [ebp + 0xc]
je 0x44af0a
mov ecx, edx
and ecx, 0x400080
cmp ecx, 0x400080
jne 0x44ae55
cmp esi, 0x100
jae 0x44af0a
cmp esi, 0x23
je 0x44af0a
mov ecx, dword [eax + 0x10]
test byte [esi + ecx], 1
jne 0x44af0a
cmp esi, 0x29
je 0x44aecc
cmp esi, 0x5c
je 0x44ae70
mov dword [ebx], esi
add ebx, 4
mov dword [ebp - 0x10], 1
jmp case.default.0x44b381
test edx, 0x400000
je 0x44aea9
mov ecx, dword [ebp - 4]
push eax
push 0
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0xc]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [ebp + 8]
push edx
call fcn.0044a240
mov ecx, dword [ebp - 8]
add esp, 0x18
test ecx, ecx
jne 0x44cabf
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0xc]
jmp 0x44aeab
xor eax, eax
sub eax, 0
je 0x44ae5f
sub eax, 0x19
je case.default.0x44b381
dec eax
jne 0x44c777
mov dword [ebp - 0x3c], 1
jmp case.default.0x44b381
mov eax, edi
sub eax, dword [ebp - 0x64]
xor ecx, ecx
dec eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x10], ecx
cmp eax, 0xff
jg 0x44c78e
mov eax, dword [ebp - 0x60]
mov edx, ebx
sub edx, eax
sar edx, 2
dec edx
mov dword [eax], edx
mov eax, dword [ebp - 0x54]
cmp eax, ecx
je case.default.0x44b381
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x54], ecx
jmp case.default.0x44b381
cmp esi, 0x5c
jne 0x44af34
cmp edi, dword [ebp - 4]
jae 0x44af34
mov cl, byte [edi]
cmp cl, 0x51
je 0x44af20
cmp cl, 0x45
jne 0x44af34
xor eax, eax
cmp cl, 0x51
sete al
inc edi
mov dword [ebp + 8], edi
mov dword [ebp - 0x3c], eax
jmp case.default.0x44b381
test dl, dl
jns 0x44afd5
cmp esi, 0x100
jae 0x44af51
mov ecx, dword [eax + 0x10]
test byte [esi + ecx], 1
jne case.default.0x44b381
cmp esi, 0x23
jne 0x44afd5
cmp edi, dword [ebp - 4]
jae case.default.0x44b381
nop
mov ecx, dword [eax + 0x90]
test ecx, ecx
je 0x44af9e
mov edx, dword [eax + 0x20]
cmp edi, edx
jae 0x44afc7
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp + 0x14]
push eax
push ecx
add esi, 0x94
mov ecx, edi
call fcn.004522f0
add esp, 8
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x44afc7
add edi, dword [eax + 0x94]
mov dword [ebp + 8], edi
jmp case.default.0x44b381
mov esi, dword [eax + 0x94]
mov ecx, dword [eax + 0x20]
sub ecx, esi
cmp edi, ecx
ja 0x44afc7
mov dl, byte [edi]
cmp dl, byte [eax + 0xa0]
jne 0x44afc7
cmp esi, 1
je 0x44af90
mov cl, byte [edi + 1]
cmp cl, byte [eax + 0xa1]
je 0x44af90
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 4]
jb 0x44af60
jmp case.default.0x44b381
cmp esi, 0x28
jne 0x44b009
mov edx, dword [ebp - 4]
sub edx, edi
cmp edx, 2
jl 0x44b043
cmp byte [edi], 0x3f
jne 0x44b043
cmp byte [edi + 1], 0x23
jne 0x44b043
mov eax, dword [ebp - 4]
inc edi
cmp edi, eax
jae 0x44c7a6
cmp byte [edi], 0x29
jne 0x44aff2
inc edi
mov dword [ebp + 8], edi
jmp case.default.0x44b381
cmp esi, 0x2a
je 0x44b06a
cmp dword [ebp - 0xc], 0x2b
je 0x44b06a
cmp dword [ebp - 0xc], 0x3f
je 0x44b06a
cmp dword [ebp - 0xc], 0x7b
jne 0x44b043
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 4]
push 0
lea ecx, [ebp - 0x30]
push 0
push ecx
lea edi, [ebp - 8]
mov dword [ebp - 0x30], eax
call fcn.0044a150
mov edi, dword [ebp + 8]
add esp, 0xc
test eax, eax
jne 0x44b06a
mov eax, dword [ebp - 0x44]
mov edx, eax
dec eax
mov dword [ebp - 0x44], eax
test edx, edx
jg 0x44b06a
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x40]
push eax
push ecx
mov eax, ebx
lea esi, [ebp - 0x34]
call fcn.0044abb0
add esp, 8
mov ebx, eax
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0xc]
test esi, esi
jle 0x44b0d7
cmp eax, 0x28
jne case.0x44b09d.34
mov edx, dword [ebp - 4]
mov ecx, edx
sub ecx, edi
cmp ecx, 3
jl case.0x44b09d.34
cmp byte [edi], 0x3f
jne case.0x44b09d.34
movzx ecx, byte [edi + 1]
add ecx, 0xffffffdf
cmp ecx, 0x22
ja case.0x44b09d.34
movzx ecx, byte [ecx + 0x44cae4]
jmp dword [ecx*4 + 0x44cad4]
xor ecx, ecx
cmp esi, 2
sete cl
test ecx, ecx
jne case.0x44b09d.33
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x80
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, byte [edi + 2]
cmp cl, 0x3d
je case.0x44b09d.33
cmp cl, 0x21
jne case.0x44b09d.34
jmp case.0x44b09d.33
mov edx, dword [ebp - 4]
mov dword [ebp - 0x5c], esi
mov esi, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x40], esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], ecx
cmp esi, ecx
je 0x44b129
cmp eax, 0x3f
je 0x44b0ff
cmp eax, 0x2b
jne 0x44b129
sub eax, 0x3f
neg eax
sbb eax, eax
and eax, 0xffff0000
add eax, 0x20000
xor edx, edx
add eax, esi
cmp esi, 0x803a0000
setne dl
lea edx, [edx + edx - 3]
mov dword [ebx + edx*4], eax
jmp case.default.0x44b381
lea ecx, [eax - 0x24]
cmp ecx, 0x58
ja case.0x44b13c.37
movzx ecx, byte [ecx + 0x44cb3c]
jmp dword [ecx*4 + 0x44cb08]
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp - 4]
push 0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x30], edi
call fcn.0044a240
mov ecx, dword [ebp - 8]
mov edi, dword [ebp + 8]
add esp, 0x18
mov esi, eax
test ecx, ecx
jne 0x44b2a8
mov eax, dword [ebp - 0xc]
test esi, esi
je case.0x44b13c.37
js 0x44b2dc
lea eax, [esi - 6]
cmp eax, 0x16
ja case.0x44b19b.13
movzx ecx, byte [eax + 0x44cbb0]
jmp dword [ecx*4 + 0x44cb98]
test dword [ebp + 0xc], 0x100000
je case.0x44b19b.12
mov ecx, 0xb7
jmp 0x44b2a5
mov ecx, 0x91
jmp 0x44b2a5
cmp edi, dword [ebp - 4]
jae 0x44b295
mov al, byte [edi]
cmp al, 0x7b
je 0x44b1de
cmp al, 0x3c
je 0x44b1e2
cmp al, 0x27
jne 0x44b295
cmp al, 0x3c
jne 0x44b1ec
mov eax, 0x3e
mov dword [ebp - 0x40], eax
jmp 0x44b1ff
xor edx, edx
cmp al, 0x27
setne dl
dec edx
and edx, 0xffffffaa
add edx, 0x7d
mov eax, edx
mov dword [ebp - 0x40], edx
cmp esi, 0x1b
jne 0x44b25d
cmp eax, 0x7d
je 0x44b25d
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov edx, dword [ebp + 0x14]
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
push 0xa1
push eax
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [edx + 0x74]
mov eax, 0xffff
call fcn.0044a030
add esp, 0x14
test eax, eax
je 0x44b256
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 4]
jae 0x44b24f
movzx ecx, byte [eax]
cmp ecx, dword [ebp - 0x40]
je 0x44b3b2
mov ecx, 0x9d
jmp 0x44b2a5
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x44b2a8
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp - 0x40]
push edx
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x20]
push eax
push edi
push ecx
lea edx, [ebp + 8]
push edx
call fcn.0044aab0
add esp, 0x20
test eax, eax
jne 0x44b3bc
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 8]
jmp 0x44b2a8
sub esi, 0x1b
neg esi
sbb esi, esi
and esi, 0xc
lea ecx, [esi + 0x9d]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
test byte [edx + 0x24], 2
je 0x44cac2
mov edi, dword [ebp - 0x30]
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 4]
jb 0x44b2ce
mov eax, 0x5c
xor esi, esi
jmp 0x44b17a
movzx eax, byte [edi]
inc edi
mov dword [ebp + 8], edi
xor esi, esi
jmp 0x44b17a
mov ecx, dword [ebp + 0x14]
neg esi
mov eax, edi
sub eax, dword [ecx + 0x1c]
mov edx, esi
or edx, 0x80030000
dec eax
mov dword [ebx], edx
add ebx, 4
mov dword [ebp - 0x20], eax
cmp esi, 0xa
jge case.0x44b13c.37
cmp dword [ecx + esi*4 + 0x2c], 0xffffffff
jne 0x44c73d
mov dword [ecx + esi*4 + 0x2c], eax
mov dword [ebp - 0x10], 1
jmp case.default.0x44b381
mov dword [ebp - 0x10], 1
add esi, 0x80180000
mov dword [ebx], esi
add ebx, 4
jmp case.default.0x44b381
test dword [ebp + 0xc], 0x20000
mov dword [ebp - 0x10], 1
jne 0x44b352
add esi, 0x80180000
mov dword [ebx], esi
add ebx, 4
jmp case.default.0x44b381
cmp esi, 7
je 0x44b366
cmp esi, 9
je 0x44b366
mov eax, 0xf
cmp esi, 0xb
jne 0x44b36b
mov eax, 0x10
add eax, 0x80180000
mov dword [ebx], eax
lea eax, [esi - 6]
add ebx, 4
cmp eax, 5
ja case.default.0x44b381
jmp dword [eax*4 + 0x44cbc8]
mov dword [ebx], 0x3000d
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], 0x60000
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], 0x80000
add ebx, 4
jmp case.default.0x44b381
mov edi, eax
mov eax, dword [ebp - 0x18]
jmp 0x44c488
cmp esi, 0x1c
je 0x44b3cb
mov eax, 0x80210000
cmp edi, 0x7d
jne 0x44b3d0
mov eax, 0x80040000
mov ecx, dword [ebp - 0x20]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
add ebx, 0xc
mov dword [ebp - 0x10], 1
jmp 0x44ad65
mov dword [ebx], 0x80090000
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], 0x80160000
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], 0x80170000
add ebx, 4
mov dword [ebp - 0x10], 1
jmp case.default.0x44b381
mov dword [ebp - 0x38], 0x80310000
jmp 0x44b483
mov dword [ebp - 0x38], 0x80340000
jmp 0x44b483
mov dword [ebp - 0x38], 0x80370000
jmp 0x44b483
mov esi, dword [ebp - 4]
lea edx, [ebp - 0x74]
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp + 8]
push ecx
lea edi, [ebp - 8]
call fcn.0044a150
add esp, 0xc
test eax, eax
jne 0x44b476
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x44cabf
mov edx, dword [ebp - 0xc]
mov dword [ebx], edx
add ebx, 4
mov dword [ebp - 0x10], 1
jmp 0x44ad65
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], 0x803a0000
cmp dword [ebp - 0x40], 0
je 0x44c7bd
mov ecx, dword [ebp - 0x38]
mov dword [ebx], ecx
add ebx, 4
cmp eax, 0x7b
jne case.default.0x44b381
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov dword [ebx], edx
mov dword [ebx + 4], eax
add ebx, 8
jmp case.default.0x44b381
mov eax, edx
sub eax, edi
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], eax
cmp eax, 6
jl 0x44b5a1
mov esi, 0x557eb8
mov ecx, edi
mov dword [ebp - 0x40], 6
sub ecx, esi
mov al, byte [esi + ecx]
mov dl, byte [esi]
inc esi
cmp dl, al
jne 0x44b4e9
dec dword [ebp - 0x40]
jne 0x44b4d8
jmp 0x44b522
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
je 0x44b522
mov esi, str._:_:__
mov ecx, edi
mov dword [ebp - 0x40], 6
sub ecx, esi
mov al, byte [esi + ecx]
mov dl, byte [esi]
inc esi
cmp dl, al
jne 0x44b516
dec dword [ebp - 0x40]
jne 0x44b505
jmp 0x44b522
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x44b59e
mov dword [ebx], 0x80180005
cmp byte [edi + 2], 0x3c
jne 0x44b53a
mov dword [ebx + 4], 0x80220000
add ebx, 8
jmp 0x44b554
mov ecx, dword [ebp + 0x10]
mov dword [ebx + 4], 0x80240000
mov dword [ebx + 8], 0
mov dword [ecx], 1
add ebx, 0xc
test dword [ebp + 0xc], 0x20000
jne 0x44b57a
mov dword [ebx], 0x8018000b
add ebx, 4
mov dword [ebx], 0x80190000
add ebx, 4
add edi, 6
mov dword [ebp + 8], edi
jmp case.default.0x44b381
mov dword [ebx], 0x80180010
mov dword [ebx + 4], 0x80000
add ebx, 8
mov dword [ebx], 0x80190000
add ebx, 4
add edi, 6
mov dword [ebp + 8], edi
jmp case.default.0x44b381
mov edx, dword [ebp - 4]
cmp edi, edx
jae 0x44b5cc
mov al, byte [edi]
cmp al, 0x3a
je 0x44b5b3
cmp al, 0x2e
je 0x44b5b3
cmp al, 0x3d
jne 0x44b5cc
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x30]
push edx
mov eax, edi
call fcn.0044a9d0
add esp, 4
test eax, eax
jne 0x44c7d5
xor edx, edx
cmp edi, dword [ebp - 4]
jae 0x44b69e
mov eax, edi
sub eax, 0x557ec8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x44b5f0
movzx eax, byte [edi]
mov ecx, 1
sub dword [ebp - 0x28], ecx
add dword [ebp - 0x40], ecx
add edi, ecx
mov dword [ebp - 0xc], eax
cmp eax, 0x5c
jne 0x44b66e
cmp edi, dword [ebp - 4]
jae 0x44b61c
cmp byte [edi], 0x45
jne 0x44b61c
sub dword [ebp - 0x28], ecx
add edi, ecx
add dword [ebp - 0x40], ecx
jmp 0x44b692
cmp dword [ebp - 0x28], 3
jl 0x44b6c7
mov dword [ebp - 0x5c], 3
mov esi, 0x557ec8
mov ecx, dword [ebp - 0x40]
mov al, byte [esi + ecx]
mov cl, byte [esi]
inc esi
cmp cl, al
jne 0x44b653
dec dword [ebp - 0x5c]
jne 0x44b632
mov eax, 3
sub dword [ebp - 0x28], eax
add edi, eax
add dword [ebp - 0x40], eax
jmp 0x44b692
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x44b6c7
mov eax, 3
sub dword [ebp - 0x28], eax
add edi, eax
add dword [ebp - 0x40], eax
jmp 0x44b692
test dword [ebp + 0xc], 0x1000000
je 0x44b683
cmp dword [ebp - 0xc], 0x20
je 0x44b692
cmp dword [ebp - 0xc], 9
je 0x44b692
test edx, edx
jne 0x44b69b
cmp dword [ebp - 0xc], 0x5e
jne 0x44b69b
mov edx, 1
cmp edi, dword [ebp - 4]
jb 0x44b5f0
mov dword [ebp + 8], edi
cmp dword [ebp - 0xc], 0x5d
jne 0x44b6ca
mov eax, dword [ebp + 0x14]
test byte [eax + 0x6c], 1
je 0x44b6ca
neg edx
sbb edx, edx
and edx, 0x10000
add edx, 0x800b0000
mov dword [ebx], edx
add ebx, 4
jmp case.default.0x44b381
mov dword [ebp + 8], edi
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
neg edx
sbb edx, edx
and edx, 0x40000
add edx, 0x800a0000
mov dword [ebx], edx
add ebx, 4
mov dword [ebp - 0x28], 0
lea esp, [esp]
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 1
je 0x44b725
cmp esi, 0x5c
jne 0x44b909
cmp edi, dword [ebp - 4]
jae 0x44b909
cmp byte [edi], 0x45
jne 0x44b909
mov dword [ebp - 0x3c], 0
inc edi
jmp 0x44b9ef
test dword [ebp + 0xc], 0x1000000
je 0x44b740
cmp esi, 0x20
je 0x44b9ef
cmp esi, 9
je 0x44b9ef
cmp esi, 0x5b
jne 0x44b7f8
sub eax, edi
cmp eax, 3
jl 0x44b909
mov al, byte [edi]
cmp al, 0x3a
je 0x44b766
cmp al, 0x2e
je 0x44b766
cmp al, 0x3d
jne 0x44b909
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 4]
mov eax, edi
call fcn.0044a9d0
add esp, 4
test eax, eax
je 0x44b909
xor esi, esi
cmp dword [ebp - 0x28], 1
je 0x44c80a
cmp byte [edi], 0x3a
jne 0x44c821
inc edi
cmp byte [edi], 0x5e
jne 0x44b7a0
mov esi, 1
inc edi
mov edx, dword [ebp - 0x30]
sub edx, edi
push edx
push edi
call fcn.0044aa30
add esp, 8
test eax, eax
js 0x44c839
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
add edi, 2
dec ecx
cmp edi, ecx
jae 0x44b7d4
cmp byte [edi], 0x2d
jne 0x44b7d4
cmp byte [edi + 1], 0x5d
jne 0x44c80a
neg esi
sbb esi, esi
and esi, 0x10000
add esi, 0x801c0000
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov dword [ebp - 0x28], 0
add ebx, 8
jmp 0x44b9ef
cmp esi, 0x2d
jne 0x44b82e
cmp dword [ebp - 0x28], 2
jb 0x44b909
mov edx, dword [ebp - 0x28]
sub edx, 3
neg edx
sbb edx, edx
and edx, 0xffff0000
add edx, 0x801f0000
mov dword [ebx], edx
add ebx, 4
mov dword [ebp - 0x28], 1
jmp 0x44b9ef
cmp esi, 0x5c
jne 0x44b909
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 4]
push 1
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0xc]
push edx
push eax
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x30], edi
call fcn.0044a240
mov ecx, dword [ebp - 8]
mov edi, dword [ebp + 8]
add esp, 0x18
test ecx, ecx
jne 0x44b8cc
mov esi, dword [ebp - 0xc]
test eax, eax
je 0x44b902
cmp eax, 5
je 0x44b8fd
cmp eax, 0x1a
je 0x44b971
cmp eax, 0x19
je 0x44b9ef
cmp dword [ebp - 0x28], 1
jne 0x44b898
mov ecx, 0x96
jmp 0x44b8c9
lea ecx, [eax - 6]
mov dword [ebp - 0x28], 0
cmp ecx, 0xf
ja case.0x44b8ae.13
movzx edx, byte [ecx + 0x44cbf4]
jmp dword [edx*4 + 0x44cbe0]
mov ecx, 0xab
jmp 0x44b8c9
mov ecx, 0x91
jmp 0x44b8c9
mov ecx, 0x6b
dec edi
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
test byte [edx + 0x24], 2
je 0x44cac2
mov edi, dword [ebp - 0x30]
cmp edi, dword [ebp - 4]
jb 0x44b8ef
mov esi, 0x5c
xor eax, eax
jmp 0x44b868
mov edi, dword [ebp - 0x30]
movzx esi, byte [edi]
inc edi
xor eax, eax
jmp 0x44b868
mov esi, 8
mov dword [ebp - 0x40], 0
mov ecx, 1
cmp dword [ebp - 0x28], ecx
jne 0x44b959
mov eax, dword [ebx - 8]
cmp eax, esi
jne 0x44b929
sub ebx, 4
mov dword [ebp - 0x28], 0
jmp 0x44b9ef
ja 0x44c850
cmp dword [ebp - 0x40], 0
jne 0x44b945
cmp dword [ebx - 4], 0x801f0000
jne 0x44b945
mov dword [ebx - 4], 0x801e0000
mov dword [ebx], esi
add ebx, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], 0
jmp 0x44b9ef
xor eax, eax
cmp dword [ebp - 0x40], eax
mov dword [ebx], esi
setne al
mov dword [ebp - 0x10], ecx
add eax, 2
mov dword [ebp - 0x28], eax
add ebx, 4
jmp 0x44b9ef
mov dword [ebp - 0x3c], 1
jmp 0x44b9ef
test dword [ebp + 0xc], 0x20000
jne 0x44b98c
add eax, 0x80180000
mov dword [ebx], eax
jmp 0x44b9d5
cmp eax, 7
je 0x44b9a0
cmp eax, 9
je 0x44b9a0
mov ecx, 0xf
cmp eax, 0xb
jne 0x44b9a5
mov ecx, 0x10
add ecx, 0x80180000
mov dword [ebx], ecx
add eax, 0xfffffffa
add ebx, 4
cmp eax, 5
ja case.default.0x44b9b8
jmp dword [eax*4 + 0x44cc04]
mov dword [ebx], 0x3000d
jmp 0x44b9d5
mov dword [ebx], 0x60000
jmp 0x44b9d5
mov dword [ebx], 0x80000
add ebx, 4
mov ecx, dword [ebp - 4]
dec ecx
cmp edi, ecx
jae 0x44b9ef
cmp byte [edi], 0x2d
jne 0x44b9ef
cmp byte [edi + 1], 0x5d
jne 0x44c80a
mov eax, dword [ebp - 4]
cmp edi, eax
jae 0x44c868
movzx esi, byte [edi]
inc edi
mov dword [ebp - 0xc], esi
mov dword [ebp + 8], edi
cmp esi, 0x5d
jne 0x44b6f0
cmp dword [ebp - 0x3c], 0
jne 0x44b6f0
cmp dword [ebp - 0x28], 1
jne 0x44ba24
mov dword [ebx - 4], 0x2d
mov dword [ebx], 0x800d0000
add ebx, 4
jmp case.default.0x44b381
cmp edi, edx
jae 0x44caa5
mov al, byte [edi]
cmp al, 0x3f
je 0x44bbd4
cmp al, 0x2a
je 0x44ba7f
mov ecx, 1
add dword [ebp - 0x14], ecx
test dword [ebp + 0xc], 0x2000
jne 0x44ba71
mov eax, dword [ebp + 0x14]
add dword [eax + 0x74], ecx
mov eax, dword [eax + 0x74]
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], 0x801a0000
add ebx, 4
jmp case.default.0x44b381
mov edx, dword [ebp - 4]
sub edx, edi
cmp edx, 1
jle case.default.0x44b381
cmp byte [edi + 1], 0x29
je case.default.0x44b381
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp - 4]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0
lea edx, [ebp + 8]
push esi
push edx
mov dword [ebp - 0x40], 0x54a5a4
call fcn.0044aab0
add esp, 0x20
test eax, eax
je 0x44cabc
mov edi, dword [ebp + 8]
cmp edi, esi
jae 0x44bb22
mov al, byte [edi]
cmp al, 0x3a
je 0x44badd
cmp al, 0x29
jne 0x44bb22
mov dword [ebp - 0x18], 0
mov esi, 0x54a768
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [esi]
jne 0x44bb08
mov edx, dword [ebp - 0x2c]
mov ecx, eax
mov eax, dword [ebp - 0x40]
call fcn.00452280
test eax, eax
je 0x44bb39
mov eax, dword [esi]
mov ecx, dword [ebp - 0x40]
inc dword [ebp - 0x18]
add esi, 0xc
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x40], edx
cmp esi, 0x54a7d4
jl 0x44baf0
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xa0
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x18]
cmp ecx, 9
jge 0x44bb22
cmp byte [edi], 0x3a
jne 0x44bb55
lea eax, [edi + 1]
cmp eax, dword [ebp - 4]
jae 0x44bb55
cmp byte [eax], 0x29
jne 0x44bb55
mov edi, eax
lea eax, [ecx + ecx*2]
add eax, eax
mov esi, dword [eax + eax + 0x54a770]
add eax, eax
test esi, esi
jle 0x44bb70
cmp byte [edi], 0x3a
jne 0x44c87f
mov cl, byte [edi]
inc edi
mov dword [ebp + 8], edi
cmp cl, 0x3a
jne 0x44bbc4
test esi, esi
jns 0x44bb90
mov edx, dword [eax + 0x54a76c]
mov dword [ebp - 0x54], edx
mov dword [ebx], 0x80260000
jmp 0x44bbac
mov eax, dword [eax + 0x54a76c]
mov ecx, eax
sub ecx, 0x80260000
neg ecx
sbb ecx, ecx
and ecx, 0x10000
add ecx, eax
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x60], ebx
add ebx, 4
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x4c], 1
jmp case.default.0x44b381
mov edx, dword [eax + 0x54a76c]
mov dword [ebx], edx
add ebx, 4
jmp case.default.0x44b381
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 4]
jae 0x44caa5
mov cl, byte [edi]
movzx eax, cl
add eax, 0xffffffdf
cmp eax, 0x31
ja case.0x44bbf9.34
movzx eax, byte [eax + 0x44cc50]
jmp dword [eax*4 + 0x44cc1c]
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 4]
jae 0x44caa5
mov al, byte [edi]
cmp al, 0x3c
jne 0x44bc1d
mov eax, 0x3e
jmp 0x44c260
cmp al, 0x3e
je case.0x44bbf9.38
cmp al, 0x3d
jne 0x44c896
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x29
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.0044aab0
add esp, 0x20
test eax, eax
je 0x44cabc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebx], 0x80040000
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebp - 0x10], 1
jmp 0x44ad65
xor eax, eax
inc edi
mov dword [ebp - 0x18], eax
cmp edi, dword [ebp - 4]
jae 0x44bc90
cmp byte [edi], 0x29
je 0x44c488
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x9e
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
sub edx, edi
cmp edx, 2
jl 0x44bcc0
mov al, byte [edi + 1]
cmp al, 0x30
jb 0x44bcc0
cmp al, 0x39
jbe case.0x44bbf9.48
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x81
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x29
push edx
lea eax, [ebp + 8]
push eax
call fcn.0044aab0
add esp, 0x20
test eax, eax
je 0x44cabc
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [ebx], 0x80210000
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
add ebx, 0xc
mov dword [ebp - 0x10], 1
jmp 0x44ad65
inc edi
cmp edi, dword [ebp - 4]
jae 0x44caa5
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x44bd56
test byte [ebp + 0xc], 4
je 0x44bd56
lea ecx, [ebx - 0x10]
cmp eax, ecx
jne 0x44bd56
cmp dword [ebx - 4], 0xff
jne 0x44bd56
mov ebx, eax
mov al, byte [edi]
mov edx, ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], 1
cmp al, 0x29
je 0x44be05
cmp al, 0x30
jb 0x44bd78
cmp al, 0x39
jbe 0x44be05
xor ecx, ecx
movzx esi, al
mov edx, edi
mov dword [ebp - 0x18], ecx
mov eax, 0x60
cmp esi, eax
je 0x44bdb1
mov eax, dword [ecx*4 + 0x549e38]
inc ecx
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x44bd87
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xb6
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx*4 + 0x54a518]
test ecx, ecx
je 0x44bd9a
mov esi, dword [ebp - 4]
mov dword [ebx], 0x80070000
inc edi
cmp edi, esi
jae 0x44c8ad
movzx eax, byte [edi]
cmp eax, ecx
jne 0x44bdc5
inc edi
cmp edi, esi
jae 0x44bde1
movzx eax, byte [edi]
cmp eax, ecx
je 0x44bdc5
mov eax, edi
sub eax, edx
cmp eax, 0xffffffff
ja 0x44c8c6
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 0xc], eax
sub edx, dword [ecx + 0x1c]
add ebx, 0x14
mov dword [ebx - 4], edx
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x34]
jmp 0x44be3c
mov esi, dword [ebp - 4]
xor eax, eax
mov dword [ebx], 0x80060000
mov cl, byte [edi]
cmp cl, 0x30
jb 0x44be36
cmp cl, 0x39
ja 0x44be36
movzx ecx, cl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
inc edi
cmp eax, 0xff
jg 0x44c8dd
cmp edi, esi
jb 0x44be10
mov dword [ebx + 0xc], eax
add ebx, 0x10
cmp edi, esi
jae 0x44c8f4
cmp byte [edi], 0x29
jne 0x44c8f4
mov ecx, dword [ebp + 0x14]
inc edi
mov eax, edi
sub eax, dword [ecx + 0x1c]
mov dword [ebp + 8], edi
mov dword [edx + 4], eax
mov dword [edx + 8], 0
jmp case.default.0x44b381
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 4]
jae 0x44caa5
inc dword [ebp - 0x14]
cmp byte [edi], 0x3f
jne 0x44be96
mov dword [ebx], 0x800f0000
add ebx, 4
dec edi
mov dword [ebp + 8], edi
mov dword [ebp - 0x48], 2
jmp case.default.0x44b381
mov ecx, dword [ebp - 4]
mov esi, dword [ebp + 0x14]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x18]
push eax
push 0xa1
push ecx
mov ecx, dword [esi + 0x74]
lea edx, [ebp + 8]
push edx
mov eax, 0xffff
call fcn.0044a030
add esp, 0x14
test eax, eax
je 0x44beef
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
test ecx, ecx
jle 0x44c90b
mov dword [ebx], 0x80120000
mov eax, edi
sub eax, dword [esi + 0x1c]
sub eax, 2
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [ebp - 0x20], eax
add ebx, 0xc
jmp 0x44c16d
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x44cabf
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 8]
sub eax, esi
mov dword [ebp - 0x28], eax
cmp eax, 0xa
jl 0x44c02a
mov edi, str.VERSION
mov edx, esi
mov dword [ebp - 0x5c], 7
sub edx, edi
mov edi, edi
mov al, byte [edi + edx]
mov cl, byte [edi]
inc edi
cmp cl, al
jne 0x44bf31
dec dword [ebp - 0x5c]
jne 0x44bf20
jmp 0x44bf41
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x44c02a
cmp byte [esi + 7], 0x29
lea edi, [esi + 7]
je 0x44c02a
xor esi, esi
cmp byte [edi], 0x3e
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x40], esi
jne 0x44bf63
mov dword [ebp - 0x5c], 1
inc edi
cmp byte [edi], 0x3d
jne 0x44c922
mov al, byte [edi + 1]
inc edi
mov dword [ebp + 8], edi
cmp al, 0x30
jb 0x44c922
cmp al, 0x39
ja 0x44c922
mov edx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x40]
push ecx
push 0xb3
push edx
lea eax, [ebp + 8]
push eax
mov eax, 0x3e8
or ecx, 0xffffffff
call fcn.0044a030
add esp, 0x14
test eax, eax
je 0x44cabc
mov edi, dword [ebp + 8]
cmp edi, dword [ebp - 4]
jae 0x44c922
cmp byte [edi], 0x2e
jne 0x44c00d
inc edi
cmp edi, dword [ebp - 4]
jae 0x44c922
mov al, byte [edi]
cmp al, 0x30
jb 0x44c922
cmp al, 0x39
ja 0x44c922
movzx eax, al
sub eax, 0x30
inc edi
lea esi, [eax + eax*4]
mov al, byte [edi]
add esi, esi
cmp al, 0x30
jb 0x44bffb
cmp al, 0x39
ja 0x44bffb
movzx ecx, al
lea esi, [esi + ecx - 0x30]
inc edi
cmp edi, dword [ebp - 4]
jae 0x44c922
cmp byte [edi], 0x29
jne 0x44c922
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
mov dword [ebx], 0x80150000
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], esi
add ebx, 0x10
jmp 0x44c16d
mov al, byte [esi]
mov dword [ebp - 0x5c], 0
cmp al, 0x52
jne 0x44c052
mov edx, 1
cmp dword [ebp - 0x28], edx
jle 0x44c052
cmp byte [esi + 1], 0x26
lea ecx, [esi + 1]
jne 0x44c052
mov dword [ebp - 0x5c], edx
mov dword [ebp + 8], ecx
jmp 0x44c06c
cmp al, 0x3c
jne 0x44c05d
mov edi, 0x3e
jmp 0x44c071
cmp al, 0x27
jne 0x44c068
mov edi, 0x27
jmp 0x44c071
dec esi
mov dword [ebp + 8], esi
mov edi, 0x29
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x20]
push edx
push edi
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.0044aab0
add esp, 0x20
test eax, eax
je 0x44cabc
cmp dword [ebp - 0x5c], 0
je 0x44c0b3
mov edi, dword [ebp + 8]
mov dword [ebx], 0x80130000
dec edi
jmp 0x44c151
cmp edi, 0x29
jne 0x44c148
mov esi, 6
cmp dword [ebp - 0x1c], esi
jne 0x44c101
mov edx, dword [ebp - 0x2c]
mov edi, str.DEFINE
sub edx, edi
mov al, byte [edx + edi]
mov cl, byte [edi]
inc edi
cmp cl, al
jne 0x44c0e9
dec esi
jne 0x44c0d0
mov edi, dword [ebp + 8]
mov dword [ebx], 0x80100000
dec edi
jmp 0x44c151
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x44c101
mov edi, dword [ebp + 8]
mov dword [ebx], 0x80100000
dec edi
jmp 0x44c151
mov eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], eax
jle 0x44c129
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov cl, byte [edx + eax]
cmp cl, 0x30
jb 0x44c126
cmp cl, 0x39
ja 0x44c126
inc eax
cmp eax, esi
jl 0x44c114
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x2c]
cmp byte [edx], 0x52
jne 0x44c13b
cmp eax, dword [ebp - 0x1c]
mov eax, 0x80140000
jge 0x44c140
mov eax, 0x80110000
mov edi, dword [ebp + 8]
mov dword [ebx], eax
dec edi
jmp 0x44c151
mov edi, dword [ebp + 8]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x44c165
mov ecx, dword [ebp - 0x1c]
mov dword [ebx], ecx
add ebx, 4
mov edx, dword [ebp - 0x20]
mov dword [ebx], edx
add ebx, 4
cmp edi, dword [ebp - 4]
jae 0x44c939
cmp byte [edi], 0x29
jne 0x44c939
inc edi
mov dword [ebp + 8], edi
jmp case.default.0x44b381
inc dword [ebp - 0x14]
mov dword [ebx], 0x80020000
add ebx, 4
inc edi
mov dword [ebp + 8], edi
jmp case.default.0x44b381
mov dword [ebx], 0x80220000
add ebx, 4
inc edi
jmp 0x44c209
mov dword [ebx], 0x80230000
add ebx, 4
inc edi
jmp 0x44c209
mov eax, dword [ebp - 4]
sub eax, edi
cmp eax, 1
jle 0x44bc13
mov al, byte [edi + 1]
cmp al, 0x3d
je 0x44c1d2
cmp al, 0x21
jne 0x44bc13
mov edx, dword [ebp + 0x10]
xor ecx, ecx
cmp al, 0x3d
setne cl
mov eax, edi
add ebx, 8
mov dword [edx], 1
dec ecx
and ecx, 0xffff0000
add ecx, 0x80250000
mov dword [ebx - 8], ecx
mov ecx, dword [ebp + 0x14]
sub eax, dword [ecx + 0x1c]
sub eax, 2
mov dword [ebx - 4], eax
mov dword [ebp - 0x20], eax
add edi, 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0
mov dword [ebp + 8], edi
jle case.default.0x44b381
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x44c22b
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x44c23a
add eax, 0xc
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x68]
jae 0x44c990
mov cx, word [ebp - 0x14]
mov word [eax], cx
mov ecx, dword [ebp + 0xc]
mov edx, 2
and ecx, 0x10424e8
mov word [eax + 6], dx
mov dword [eax + 8], ecx
jmp case.default.0x44b381
mov eax, 0x27
mov esi, dword [ebp + 0x14]
push esi
lea edx, [ebp - 8]
push edx
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x20]
push ecx
push eax
push edx
lea eax, [ebp + 8]
push eax
call fcn.0044aab0
add esp, 0x20
test eax, eax
je 0x44cabc
mov ecx, 1
add dword [esi + 0x74], ecx
mov eax, dword [esi + 0x74]
add dword [ebp - 0x14], ecx
or eax, 0x80080000
mov dword [ebx], eax
movzx eax, word [esi + 0x58]
mov ecx, 0x2710
add ebx, 4
cmp ax, cx
jae 0x44c950
mov ecx, dword [ebp - 0x1c]
movzx edi, word [esi + 0x5a]
lea edx, [ecx + 3]
cmp edx, edi
jbe 0x44c2cc
add ecx, 3
mov word [esi + 0x5a], cx
mov edi, dword [esi + 0x64]
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x18], ecx
cmp cx, ax
jae 0x44c340
lea esp, [esp]
movzx edx, word [edi + 8]
cmp dword [ebp - 0x1c], edx
jne 0x44c322
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi]
mov edx, dword [ebp - 0x2c]
call fcn.00452280
test eax, eax
jne 0x44c322
mov eax, dword [edi + 4]
cmp eax, dword [esi + 0x74]
je 0x44c340
test byte [ebp + 0xc], 0x40
je 0x44c95a
mov eax, 1
mov ecx, eax
mov word [edi + 0xa], cx
mov dword [ebp - 0x5c], eax
mov dword [esi + 0xb8], eax
jmp 0x44c32e
mov edx, dword [edi + 4]
cmp edx, dword [esi + 0x74]
je 0x44c964
mov eax, dword [ebp - 0x18]
movzx ecx, word [esi + 0x58]
inc eax
add edi, 0xc
mov dword [ebp - 0x18], eax
cmp eax, ecx
jl 0x44c2e0
movzx ecx, word [esi + 0x58]
cmp dword [ebp - 0x18], ecx
jl 0x44ad65
mov eax, dword [esi + 0x68]
cmp ecx, eax
jb 0x44c3b0
lea edi, [eax + eax]
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [edi + edi*2]
add ecx, ecx
push edx
mov edx, dword [eax]
add ecx, ecx
push ecx
call edx
add esp, 8
mov dword [ebp - 0x40], eax
test eax, eax
je 0x44c96e
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00459d50
add esp, 0xc
cmp dword [esi + 0x68], 0x14
jbe 0x44c3a7
mov eax, dword [esi]
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x64]
mov eax, dword [eax + 4]
push ecx
push edx
call eax
add esp, 8
mov ecx, dword [ebp - 0x40]
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], edi
movzx eax, word [esi + 0x58]
mov ecx, dword [ebp - 0x2c]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + edx*4], ecx
movzx eax, word [esi + 0x58]
movzx ecx, word [ebp - 0x1c]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + edx*4 + 8], cx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x74]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + edx*4 + 4], ecx
movzx eax, word [esi + 0x58]
movzx ecx, word [ebp - 0x5c]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + edx*4 + 0xa], cx
inc word [esi + 0x58]
jmp 0x44ad65
cmp cl, 0x2d
jne 0x44c4b0
mov edx, dword [ebp - 4]
sub edx, edi
cmp edx, 1
jle 0x44c4b0
mov al, byte [edi + 1]
cmp al, 0x30
jb 0x44c4b0
cmp al, 0x39
ja 0x44c4b0
cmp cl, 0x30
jb 0x44c439
cmp cl, 0x39
ja 0x44c439
or ecx, 0xffffffff
jmp 0x44c43f
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x74]
mov esi, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x18]
push eax
push 0xa1
lea edx, [ebp + 8]
push esi
push edx
mov eax, 0xffff
call fcn.0044a030
add esp, 0x14
test eax, eax
je 0x44cabc
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
test eax, eax
js 0x44c978
cmp edi, esi
jae 0x44caa5
cmp byte [edi], 0x29
jne 0x44caa5
mov ecx, dword [ebp + 0x14]
or eax, 0x80200000
mov dword [ebx], eax
mov eax, edi
sub eax, dword [ecx + 0x1c]
inc edi
mov dword [ebx + 4], eax
mov dword [ebp - 0x20], eax
mov dword [ebp + 8], edi
add ebx, 8
mov dword [ebp - 0x10], 1
jmp case.default.0x44b381
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x14]
test eax, eax
jne 0x44c4c5
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x44c4d7
add eax, 0xc
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x68]
jae 0x44c990
mov esi, dword [ebp + 0x14]
mov dx, word [ebp - 0x14]
xor ecx, ecx
mov word [eax + 6], cx
mov ecx, dword [ebp + 0xc]
mov word [eax], dx
mov edx, ecx
and edx, 0x10424e8
mov dword [eax + 8], edx
cmp byte [edi], 0x7c
jne 0x44c529
mov cx, word [esi + 0x74]
mov word [eax + 2], cx
mov dx, word [esi + 0x74]
mov ecx, 1
mov word [eax + 4], dx
mov word [eax + 6], cx
or dword [esi + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
inc edi
mov dword [ebp + 8], edi
jmp case.default.0x44b381
xor edx, edx
mov dword [eax + 2], edx
xor esi, esi
cmp byte [edi], 0x5e
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
jne 0x44c553
and dword [ebp + 0xc], 0xfeffdb57
mov dword [ebp - 0x5c], edx
inc edi
mov ecx, dword [ebp - 4]
cmp edi, ecx
jae 0x44c5fb
mov esi, dword [ebp - 0x5c]
mov dl, byte [edi]
cmp dl, 0x29
je 0x44c5f5
cmp dl, 0x3a
je 0x44c5f5
movzx edx, dl
sub edx, 0x2d
inc edi
cmp edx, 0x4b
ja case.0x44c58c.46
movzx edx, byte [edx + 0x44cca8]
jmp dword [edx*4 + 0x44cc84]
test esi, esi
je 0x44c9a7
lea eax, [ebp - 0x28]
xor esi, esi
jmp 0x44c5ed
mov edx, dword [ebp + 0x14]
or dword [eax], 0x40
or dword [edx + 0x70], 0x400
jmp 0x44c5ed
or dword [eax], 8
jmp 0x44c5ed
or dword [eax], 0x400
jmp 0x44c5ed
or dword [eax], 0x2000
jmp 0x44c5ed
or dword [eax], 0x20
jmp 0x44c5ed
or dword [eax], 0x40000
jmp 0x44c5ed
or dword [eax], 0x80
mov edx, dword [eax]
cmp edi, ecx
jae 0x44c5f5
cmp byte [edi], 0x78
jne 0x44c5ed
or edx, 0x1000000
mov dword [eax], edx
inc edi
cmp edi, ecx
jb 0x44c561
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
mov eax, esi
and eax, 0x1000080
cmp eax, 0x80
je 0x44c60d
test dl, dl
jns 0x44c613
or edx, 0x1000000
or esi, dword [ebp + 0xc]
not edx
and esi, edx
mov dword [ebp + 0xc], esi
cmp edi, ecx
jae 0x44caa5
mov cl, byte [edi]
inc edi
mov dword [ebp + 8], edi
cmp cl, 0x29
jne 0x44c65a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0x14]
add ecx, 0xffff
mov dword [ebp - 0x14], ecx
cmp eax, dword [edx + 0x14]
jbe 0x44c655
cmp word [eax - 0xc], cx
jne 0x44c655
add eax, 0xfffffff4
mov dword [ebp - 0x24], eax
jmp 0x44c663
mov word [eax], cx
jmp 0x44c663
mov dword [ebx], 0x801a0000
add ebx, 4
cmp esi, dword [ebp - 0xc]
je case.default.0x44b381
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], esi
add ebx, 8
jmp case.default.0x44b381
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44c6ae
mov cx, word [ebp - 0x14]
cmp word [eax], cx
jne 0x44c6ae
test byte [eax + 6], 1
je 0x44c6ae
movzx edx, word [eax + 4]
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0x74], edx
jbe 0x44c6a7
mov dx, word [ecx + 0x74]
mov word [eax + 4], dx
movzx eax, word [eax + 2]
mov dword [ecx + 0x74], eax
mov dword [ebx], 0x80010000
add ebx, 4
jmp case.default.0x44b381
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
test eax, eax
je 0x44c718
mov cx, word [eax]
cmp cx, word [ebp - 0x14]
jne 0x44c718
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
and edx, 0xfefbdb17
or edx, dword [eax + 8]
test byte [eax + 6], 1
mov dword [ebp + 0xc], edx
je 0x44c6f7
movzx ecx, word [eax + 4]
cmp ecx, dword [esi + 0x74]
jbe 0x44c6f7
mov dword [esi + 0x74], ecx
test byte [eax + 6], 2
je 0x44c704
mov dword [ebp - 0x10], 0
cmp eax, dword [esi + 0x14]
jne 0x44c712
mov dword [ebp - 0x24], 0
jmp 0x44c718
sub eax, 0xc
mov dword [ebp - 0x24], eax
cmp word [ebp - 0x14], 0
je 0x44c9d7
add dword [ebp - 0x14], 0xffff
mov dword [ebx], 0x80190000
add ebx, 4
jmp case.default.0x44b381
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x10], 1
jmp case.default.0x44b381
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xa3
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x77
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x8c
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0xb0
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x76
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x6d
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edi]
dec edi
cmp al, 0x3a
jne 0x44c7f3
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x70
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x71
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x96
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x71
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x82
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x6c
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x6a
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xa6
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x8d
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov edi, edx
sub edi, dword [eax + 0x1c]
mov ecx, 0xb5
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xac
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x8a
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x8b
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x73
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xb3
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x7c
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x95
jmp 0x44cabf
mov ecx, 0x8f
jmp 0x44cabf
mov ecx, 0xa5
jmp 0x44cabf
mov ecx, 0x79
jmp 0x44cabf
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x73
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0xb8
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0xc2
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x6f
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec edi
sub edi, dword [eax + 0x1c]
mov ecx, 0x7a
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x4c], 0
jne 0x44bb22
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp + 8]
mov eax, ebx
mov edx, ecx
test ecx, ecx
je 0x44ca17
mov esi, dword [ebp + 0x14]
mov edx, edi
sub edx, dword [ecx + 4]
sub edx, dword [esi + 0x1c]
mov dword [ecx + 8], edx
mov edx, ecx
cmp dword [ebp - 0x50], 0
je 0x44ca55
test ecx, ecx
je 0x44ca31
lea esi, [ebx - 0x10]
cmp ecx, esi
jne 0x44ca31
cmp dword [ecx + 0xc], 0xff
je 0x44ca4a
mov edx, ebx
lea eax, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov esi, dword [ebp + 0x14]
mov ecx, edi
sub ecx, dword [esi + 0x1c]
mov dword [edx + 4], ecx
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x24]
test cl, 8
je 0x44ca71
mov dword [eax], 0x80190000
mov dword [eax + 4], 0x80160000
jmp 0x44ca83
test cl, 4
je 0x44ca86
mov dword [eax], 0x80190000
mov dword [eax + 4], 0x80180005
add eax, 8
cmp eax, dword [ebp - 0x58]
jae 0x44c749
cmp word [ebp - 0x14], 0
mov dword [eax], SysReAllocStringLen
jne 0x44caa5
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov ecx, 0x72
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
sub edi, dword [eax + 0x1c]
mov dword [eax + 0x54], edi
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret