Function at 0x44f590
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x58]
push ebx
push esi
push edi
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x4c], 0
xor eax, eax
push fcn.0044f570
push ebp
push 0x415760
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 4]
mov dword [eax], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x44], 0xffffffff
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax - 1]
cmp al, 0x24
jb 0x450c20
sub al, 0x24
je 0x44f6b0
sub al, 4
je 0x44fed0
sub al, 1
je 0x450940
sub al, 1
jb 0x450c20
sub al, 1
jbe 0x450960
sub al, 3
je 0x44f700
sub al, 0x11
je 0x450960
sub al, 0x1c
je 0x44f740
sub al, 1
je 0x450980
sub al, 2
je 0x44f660
sub al, 0x1e
je 0x450940
jmp 0x450c20
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4224], 0
je 0x44f675
cmp dword [eax + 0x4234], 0
jne 0x44f690
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov dl, 0x22
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4224], 0
je 0x44f6c5
cmp dword [eax + 0x4234], 0
jne 0x44f6e0
mov eax, dword [ebp - 8]
mov dl, 2
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov dl, 0x23
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4222], 0
je 0x44f728
mov eax, dword [ebp - 8]
mov dl, 3
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov dl, 0x24
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 1
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x5e
jne 0x44f790
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4220], 0
je 0x44f770
mov eax, dword [ebp - 8]
mov dl, 0x16
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x44f77d
mov eax, dword [ebp - 8]
mov dl, 5
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x44f7bd
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4220], 0
je 0x44f7b0
mov eax, dword [ebp - 8]
mov dl, 0x15
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x44f7bd
mov eax, dword [ebp - 8]
mov dl, 4
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x1c], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x5d
jne 0x44fe36
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax + 1], 0x2d
sete cl
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov dl, byte [eax]
mov eax, ebp
call fcn.00451290
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x44fe36
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x41e8]
cmp byte [eax], 0x2d
jne 0x44f840
add eax, 1
cmp eax, dword [edx + 0x41dc]
jae 0x44f840
cmp byte [eax], 0x5d
jne 0x44f840
mov eax, ebp
xor cl, cl
mov dl, 0x2d
call fcn.00451290
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x44fe50
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp byte [edx], 0x2d
jne 0x44f9b0
add edx, 1
cmp edx, dword [eax + 0x41dc]
jae 0x44f9b0
cmp byte [ebp - 0x1c], 0
je 0x44f9b0
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
mov byte [ebp - 0x18], al
cmp al, 0x5c
jne 0x44f937
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax + 1]
cmp al, 0x44
jb 0x44f8e0
sub al, 0x44
je 0x44f8d0
sub al, 4
je 0x44f8d0
sub al, 0xb
je 0x44f8d0
sub al, 3
jb 0x44f8e0
sub al, 1
jbe 0x44f8d0
sub al, 0xd
je 0x44f8d0
sub al, 4
je 0x44f8d0
sub al, 0xb
je 0x44f8d0
sub al, 3
jb 0x44f8e0
sub al, 1
ja 0x44f8e0
nop word [eax + eax]
nop
mov al, 1
jmp 0x44f8f0
xor al, al
jmp 0x44f910
test al, al
je 0x44f910
mov eax, dword [ebp - 8]
mov edx, 0x76
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x41dc]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41e8]
mov eax, dword [ebp - 8]
call fcn.0044f2d0
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4221], 0
je 0x44f970
cmp byte [ebp - 0x14], 0xe0
jne 0x44f970
cmp byte [ebp - 0x18], 0xdf
jne 0x44f970
mov eax, ebp
mov cl, 0xff
mov dl, 0xe0
call fcn.004510f0
mov eax, ebp
mov cl, 0xdf
mov dl, 0xc0
call fcn.004510f0
jmp 0x44f99d
mov al, byte [ebp - 0x14]
cmp al, byte [ebp - 0x18]
jbe 0x44f990
mov eax, dword [ebp - 8]
mov edx, 0x6d
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov dl, byte [ebp - 0x14]
mov eax, ebp
mov cl, byte [ebp - 0x18]
call fcn.004510f0
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x44fe36
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x5c
jne 0x44fdf0
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x41e8]
cmp eax, dword [edx + 0x41dc]
jb 0x44f9f8
mov eax, dword [ebp - 8]
mov edx, 0x6e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
cmp al, 0x44
jb 0x44fa40
sub al, 0x44
je 0x44fa30
sub al, 4
je 0x44fa30
sub al, 0xb
je 0x44fa30
sub al, 3
jb 0x44fa40
sub al, 1
jbe 0x44fa30
sub al, 0xd
je 0x44fa30
sub al, 4
je 0x44fa30
sub al, 0xb
je 0x44fa30
sub al, 3
jb 0x44fa40
sub al, 1
ja 0x44fa40
nop
mov al, 1
jmp 0x44fa50
xor al, al
jmp 0x44fd98
test al, al
je 0x44fd98
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 0
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fa90
mov edx, dword [eax + 0x41f8]
mov byte [edx], 2
add dword [eax + 0x41f8], 1
jmp 0x44fa97
add dword [eax + 0x41fc], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
cmp al, 0x44
jb 0x44fd80
sub al, 0x44
je 0x44fc40
sub al, 4
je 0x44fd40
sub al, 0xb
je 0x44fbc0
sub al, 3
je 0x44fcc0
sub al, 1
je 0x44fb40
sub al, 0xd
je 0x44fc00
sub al, 4
je 0x44fd00
sub al, 0xb
je 0x44fb80
sub al, 3
je 0x44fc80
sub al, 1
jne 0x44fd80
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4440]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fb30
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4441]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fb70
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4444]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fbb0
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4445]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fbf0
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4442]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fc30
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4443]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fc70
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4448]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fcb0
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4449]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fcf0
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4446]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fd30
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4447]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fd70
mov edx, dword [eax + 0x41f8]
mov byte [edx], cl
add dword [eax + 0x41f8], 1
jmp 0x44fe2c
add dword [eax + 0x41fc], 1
jmp 0x44fe2c
mov eax, dword [ebp - 8]
mov edx, 0x3f0
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x44fe2c
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x41dc]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41e8]
mov eax, dword [ebp - 8]
call fcn.0044f2d0
mov byte [ebp - 0x34], al
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x41e8]
lea eax, [edx + 2]
cmp eax, dword [ecx + 0x41dc]
jae 0x44fdd8
cmp byte [edx + 1], 0x2d
jne 0x44fdd8
cmp byte [eax], 0x5d
setne byte [ebp - 0x38]
jmp 0x44fddc
mov byte [ebp - 0x38], 0
mov dl, byte [ebp - 0x34]
mov eax, ebp
mov cl, byte [ebp - 0x38]
call fcn.00451290
jmp 0x44fe2c
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x41e8]
lea eax, [edx + 2]
cmp eax, dword [ecx + 0x41dc]
jae 0x44fe13
cmp byte [edx + 1], 0x2d
jne 0x44fe13
cmp byte [eax], 0x5d
setne byte [ebp - 0x38]
jmp 0x44fe17
mov byte [ebp - 0x38], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov dl, byte [eax]
mov eax, ebp
mov cl, byte [ebp - 0x38]
call fcn.00451290
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp edx, dword [eax + 0x41dc]
jae 0x44fe50
cmp byte [edx], 0x5d
jne 0x44f808
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 0
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x44fe80
mov edx, dword [eax + 0x41f8]
mov byte [edx], 1
add dword [eax + 0x41f8], 1
jmp 0x44fe87
add dword [eax + 0x41fc], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x5d
je 0x44feb0
mov eax, dword [ebp - 8]
mov edx, 0x71
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x4510d0
mov byte [ebp - 0x3c], 0
lea eax, [ebp - 0x40]
xor edx, edx
call fcn.004095d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x3f
jne 0x450690
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax + 1]
mov byte [ebp - 0x48], al
sub al, 0x21
cmp al, 0x59
ja case.0x44ff0c.34
movzx eax, al
jmp dword [eax*4 + 0x56bd10]
mov byte [ebp - 0x3c], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
jmp 0x450690
mov byte [ebp - 0x3c], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41ec]
mov byte [eax + edx + 0x3de4], 1
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
add edx, 4
cmp edx, dword [eax + 0x41dc]
jb 0x44ff94
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax + 2]
cmp al, 0x3c
jb 0x4500d0
sub al, 0x3c
je 0x44ffc0
sub al, 1
je 0x450010
sub al, 1
je 0x450060
jmp 0x4500d0
mov byte [ebp - 0x3c], 0
push 0x3e
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
call fcn.00451460
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x44fff1
mov eax, dword [eax - 4]
add eax, 4
mov edx, dword [ebp - 8]
add dword [edx + 0x41e8], eax
jmp 0x450690
mov byte [ebp - 0x3c], 2
push 0x29
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
call fcn.00451460
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x450041
mov eax, dword [eax - 4]
add eax, 4
mov edx, dword [ebp - 8]
add dword [edx + 0x41e8], eax
jmp 0x450690
mov byte [ebp - 0x3c], 0xa
push 0x29
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
call fcn.00451460
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x450091
mov eax, dword [eax - 4]
add eax, 4
mov edx, dword [ebp - 8]
add dword [edx + 0x41e8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.0044d880
mov dword [ebp - 0x44], eax
test eax, eax
jg 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
add edx, 4
cmp edx, dword [eax + 0x41dc]
jb 0x450114
mov eax, dword [ebp - 8]
mov edx, 0x98
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax + 2]
cmp al, 0x21
jb 0x450340
sub al, 0x21
je 0x450190
sub al, 0x1c
jne 0x450340
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41d8]
add edx, 1
cmp edx, dword [eax + 0x41e8]
je 0x450158
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x3c], 7
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x41ec]
mov al, byte [0x551210]
mov byte [ecx + edx + 0x3de4], al
mov eax, dword [ebp - 8]
mov byte [eax + 0x40a4], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 3
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41d8]
add edx, 1
cmp edx, dword [eax + 0x41e8]
je 0x4501b4
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x3c], 8
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 3
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
call fcn.0044c9c0
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x4501f0
mov eax, dword [ebp - 8]
mov edx, 0x67
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4208], 0
jne 0x45031d
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41d8]
mov eax, dword [ebp - 0x2c]
sub eax, 4
sub eax, edx
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x450228
mov eax, dword [ebp - 8]
mov edx, 0x98
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x444c], 0
jne 0x45024c
mov eax, 0x56cd00
mov edx, 1
call fcn.0044d580
mov edx, dword [ebp - 8]
mov dword [edx + 0x444c], eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x420c]
mov ecx, dword [ebp - 0x28]
mov edx, 5
call fcn.0040a720
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x444c]
call fcn.0044d7a0
xor eax, eax
push 0x4502a3
push ebp
push 0x415b30
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x444c]
call fcn.0044d910
xor edx, edx
pop eax
add esp, 0xc
mov dword fs:[edx], eax
jmp 0x4502d1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x444c]
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x34]
call fcn.00455430
test al, al
je 0x450300
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x4450], edx
jmp 0x45031d
mov eax, dword [ebp - 8]
add eax, 0x444c
call fcn.0043b420
mov eax, dword [ebp - 8]
mov edx, 0x99
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [eax + 0x41e8], edx
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x98
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
add edx, 3
cmp edx, dword [eax + 0x41dc]
jb 0x450384
mov eax, dword [ebp - 8]
mov edx, 0x96
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov byte [eax + 0x409c], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x41ec]
mov dword [edx + 0x40a0], eax
cmp byte [ebp - 0x48], 0x3d
jne 0x4503b0
mov byte [ebp - 0x3c], 5
jmp 0x4503be
mov byte [ebp - 0x3c], 6
mov eax, dword [ebp - 8]
mov byte [eax + 0x409d], 1
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x41ec]
mov al, byte [0x551200]
mov byte [edx + ecx + 0x3de4], al
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
add eax, 1
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x41dc]
call fcn.0044c9c0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41dc]
sub eax, 1
cmp eax, dword [ebp - 0x2c]
je 0x450411
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
jmp 0x450690
mov byte [ebp - 0x3c], 3
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
jmp 0x450690
mov byte [ebp - 0x3c], 4
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x450690
mov byte [ebp - 0x3c], 9
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x29
je 0x45048c
mov eax, dword [ebp - 8]
mov edx, 0x84
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x450690
mov byte [ebp - 0x3c], 0xa
movzx eax, byte [ebp - 0x48]
sub eax, 0x30
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 2
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
cmp al, 0x29
jb 0x450560
sub al, 0x29
je 0x4504e0
sub al, 7
jb 0x450560
sub al, 9
jbe 0x4504f0
jmp 0x450560
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x450690
mov eax, dword [ebp - 0x44]
lea eax, [eax + eax*4]
shl eax, 1
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x41e8]
movzx edx, byte [edx]
sub eax, 0x30
add eax, edx
mov dword [ebp - 0x44], eax
cmp eax, 0x5a
jl 0x450521
mov eax, dword [ebp - 8]
mov edx, 0x85
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x29
je 0x450549
mov eax, dword [ebp - 8]
mov edx, 0x85
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x84
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
add edx, 4
cmp edx, dword [eax + 0x41dc]
jb 0x4505a4
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x3c], 0
push 0x27
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
call fcn.00451460
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4505d5
mov eax, dword [eax - 4]
add eax, 3
mov edx, dword [ebp - 8]
add dword [edx + 0x41e8], eax
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
add edx, 2
cmp edx, dword [eax + 0x41dc]
jb 0x450614
mov eax, dword [ebp - 8]
mov edx, 0x85
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x3c], 0xa
push 0x29
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x41dc]
mov eax, dword [ebp - 8]
call fcn.00451460
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x450645
mov eax, dword [eax - 4]
add eax, 3
mov edx, dword [ebp - 8]
add dword [edx + 0x41e8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.0044d880
mov dword [ebp - 0x44], eax
test eax, eax
jg 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x450690
mov eax, dword [ebp - 8]
mov edx, 0x78
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov al, byte [ebp - 0x3c]
sub al, 1
jbe 0x4506e0
sub al, 1
je 0x4507b0
sub al, 1
je 0x4508a2
sub al, 1
je 0x450800
sub al, 1
jb 0x4510d0
sub al, 2
jbe 0x4506e0
sub al, 1
je 0x450790
sub al, 1
je 0x450900
sub al, 1
je 0x450920
jmp 0x4510d0
cmp byte [ebp - 0x3c], 0
jne 0x45075f
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4208], 0
jne 0x45075f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x405c], 0x59
jge 0x45075f
mov eax, dword [ebp - 8]
add dword [eax + 0x405c], 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x405c]
mov edx, dword [eax + 0x41ec]
mov dword [eax + ecx*4 + 0x3b14], edx
cmp dword [ebp - 0x40], 0
je 0x45075f
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.0044d880
test eax, eax
jl 0x450747
mov eax, dword [ebp - 8]
mov edx, 0x8f
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x405c]
lea eax, [edx + eax*4 + 0x3c7c]
mov edx, dword [ebp - 0x40]
call fcn.004095d0
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.0044e660
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x450780
mov dword [ebp - 0xc], 0
jmp 0x4510d6
mov eax, dword [ebp - 0x24]
and eax, 5
mov edx, dword [ebp - 4]
or dword [edx], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x4510d0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.0044d880
mov dword [ebp - 0x28], eax
test eax, eax
jge 0x4507d2
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4220]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.0044da90
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov dword [ebp - 0x2c], eax
jmp 0x45081a
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp edx, dword [eax + 0x41dc]
jae 0x450830
cmp byte [edx], 0x29
jne 0x450810
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x29
jne 0x45085f
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x4220]
mov eax, dword [ebp - 0x2c]
call fcn.0044ca30
test al, al
jne 0x450878
mov eax, dword [ebp - 8]
mov edx, 0x7f
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp edx, dword [eax + 0x41dc]
jae 0x4508b8
cmp byte [edx], 0x29
jne 0x450898
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x29
je 0x4508e0
mov eax, dword [ebp - 8]
mov edx, 0x7d
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 4]
or dword [eax], 1
mov eax, dword [ebp - 8]
mov dl, 0x30
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 4]
or dword [eax], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0xe6]
mov eax, dword [ebp - 8]
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov edx, 0x72
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
mov edx, 0x73
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp edx, dword [eax + 0x41dc]
jb 0x4509b0
mov eax, dword [ebp - 8]
mov edx, 0x74
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
sub al, 0x31
cmp al, 0x49
ja case.0x4509c8.58
movzx eax, al
jmp dword [eax*4 + 0x56be78]
mov eax, dword [ebp - 8]
mov dl, 0x25
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x26
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 2
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x19
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0xc
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0xd
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x10
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x11
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0xe
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0xf
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x29
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x2a
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x27
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov dl, 0x28
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
movzx edx, byte [eax]
sub edx, 0x30
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x4220]
mov eax, dword [ebp - 8]
call fcn.0044da90
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x450c10
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x41dc]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41e8]
mov eax, dword [ebp - 8]
call fcn.0044f2d0
mov dl, al
mov eax, ebp
call fcn.00451390
nop word [eax + eax]
nop
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
jmp 0x4510d0
mov eax, dword [ebp - 8]
sub dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4225], 0
je 0x450d70
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x23
je 0x450c98
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
mov byte [ebp - 0x50], al
cmp al, 9
jb 0x450c80
sub al, 0xa
jbe 0x450c70
sub al, 3
je 0x450c70
sub al, 0x13
jne 0x450c80
nop word [eax + eax]
mov al, 1
jmp 0x450c90
xor al, al
jmp 0x450d70
test al, al
je 0x450d70
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x23
jne 0x450d12
jmp 0x450cba
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
cmp edx, dword [eax + 0x41dc]
jae 0x450cea
mov al, byte [edx]
cmp al, 0xd
je 0x450cea
cmp al, 0xa
jne 0x450cb0
jmp 0x450cea
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
cmp al, 0xd
je 0x450ce0
cmp al, 0xa
je 0x450ce0
jmp 0x450d54
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
mov byte [ebp - 0x50], al
cmp al, 9
jb 0x450d40
sub al, 0xa
jbe 0x450d30
sub al, 3
je 0x450d30
sub al, 0x13
jne 0x450d40
mov al, 1
jmp 0x450d50
xor al, al
nop word [eax + eax]
nop dword [eax]
test al, al
jne 0x450d08
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x4510d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41dc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov dword [ebp - 0x54], eax
xor eax, eax
jmp 0x450e0b
mov edx, dword [ebp - 0x54]
mov dl, byte [edx]
mov byte [ebp - 0x58], dl
cmp dl, 0x24
jb 0x450df0
sub dl, 0x24
je 0x450de0
sub dl, 4
jb 0x450df0
sub dl, 2
jbe 0x450de0
sub dl, 1
je 0x450de0
sub dl, 3
je 0x450de0
sub dl, 0x11
je 0x450de0
sub dl, 0x1c
jb 0x450df0
sub dl, 1
jbe 0x450de0
sub dl, 2
je 0x450de0
sub dl, 0x1d
jb 0x450df0
sub dl, 1
ja 0x450df0
nop dword [eax + eax]
mov dl, 1
jmp 0x450e00
xor dl, dl
nop word [eax + eax]
nop dword [eax]
test dl, dl
jne 0x450e17
add eax, 1
add dword [ebp - 0x54], 1
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x50]
jb 0x450d90
mov dword [ebp - 0x28], eax
test eax, eax
jg 0x450efd
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x7b
je 0x450e48
mov eax, dword [ebp - 8]
mov edx, 0x77
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4510d6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41dc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
add eax, 1
mov dword [ebp - 0x54], eax
xor eax, eax
jmp 0x450eeb
mov edx, dword [ebp - 0x54]
mov dl, byte [edx]
mov byte [ebp - 0x58], dl
cmp dl, 0x24
jb 0x450ed0
sub dl, 0x24
je 0x450ec0
sub dl, 4
jb 0x450ed0
sub dl, 2
jbe 0x450ec0
sub dl, 1
je 0x450ec0
sub dl, 3
je 0x450ec0
sub dl, 0x11
je 0x450ec0
sub dl, 0x1c
jb 0x450ed0
sub dl, 1
jbe 0x450ec0
sub dl, 2
je 0x450ec0
sub dl, 0x1d
jb 0x450ed0
sub dl, 1
ja 0x450ed0
nop dword [eax + eax]
mov dl, 1
jmp 0x450ee0
xor dl, dl
nop word [eax + eax]
nop dword [eax]
test dl, dl
jne 0x450ef7
add eax, 1
add dword [ebp - 0x54], 1
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x50]
jb 0x450e70
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x41e8]
mov eax, dword [ebp - 0x28]
mov al, byte [eax + edx]
mov byte [ebp - 0x30], al
cmp dword [ebp - 0x28], 1
jle 0x450f3c
mov dl, byte [ebp - 0x30]
cmp dl, 0x2a
sete cl
cmp dl, 0x2b
sete al
or cl, al
cmp dl, 0x3f
sete al
or cl, al
cmp dl, 0x7b
sete al
or cl, al
je 0x450f3c
sub dword [ebp - 0x28], 1
mov eax, dword [ebp - 4]
or dword [eax], 1
cmp dword [ebp - 0x28], 1
jne 0x450f4e
mov eax, dword [ebp - 4]
or dword [eax], 2
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4220], 0
je 0x450f70
mov eax, dword [ebp - 8]
mov dl, 0x14
call fcn.0044da10
mov dword [ebp - 0x10], eax
jmp 0x450f7d
mov eax, dword [ebp - 8]
mov dl, 8
call fcn.0044da10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
mov edx, eax
mov dword [ebp - 0x50], eax
add edx, 0x41f0
cmp edx, dword [eax + 0x41f8]
je 0x450fb8
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x41f8]
mov dword [eax], 0
mov eax, dword [ebp - 0x50]
add dword [eax + 0x41f8], 4
jmp 0x4510a5
mov eax, dword [ebp - 0x50]
add dword [eax + 0x41fc], 4
jmp 0x4510a5
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4225], 0
je 0x451028
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
mov byte [ebp - 0x50], al
cmp al, 9
jb 0x451010
sub al, 0xa
jbe 0x451000
sub al, 3
je 0x451000
sub al, 0x13
jne 0x451010
nop word [eax + eax]
mov al, 1
jmp 0x451020
xor al, al
nop word [eax + eax]
nop dword [eax]
test al, al
jne 0x451097
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x41e8]
mov al, byte [eax]
mov byte [ebp - 0x50], al
mov eax, dword [ebp - 8]
mov edx, eax
mov dword [ebp - 0x54], eax
add edx, 0x41f0
cmp edx, dword [eax + 0x41f8]
je 0x451070
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 0x41f8]
mov al, byte [ebp - 0x50]
mov byte [edx], al
mov eax, dword [ebp - 0x54]
add dword [eax + 0x41f8], 1
jmp 0x45107a
mov eax, dword [ebp - 0x54]
add dword [eax + 0x41fc], 1
mov eax, dword [ebp - 8]
lea edx, [eax + 0x41f0]
cmp edx, dword [eax + 0x41f8]
je 0x451097
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4204]
add dword [eax], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x41e8], 1
sub dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], 0
jle 0x4510d0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4225], 0
je 0x450fd0
mov eax, dword [eax + 0x41e8]
cmp byte [eax], 0x23
jne 0x450fd0
nop word [eax + eax]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
xor edx, edx
pop eax
add esp, 0xc
mov dword fs:[edx], eax
mov eax, ebp
call fcn.0044f570
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret