Function at 0x441afe
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xb4
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax]
mov eax, dword [ebp + 0x64]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax]
mov eax, edx
shr eax, 9
and eax, 1
push esi
mov dword [ebp - 0x38], eax
xor eax, 1
push edi
mov dword [ebp - 0x3c], eax
xor esi, esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x38], eax
mov eax, edx
and eax, 1
shl eax, 8
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x30], edx
mov dword [ebp], esi
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 4], esi
mov dword [ebp - 0xc], esi
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x40], esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 8], eax
cmp dword [ebp + 4], esi
movzx eax, byte [ecx]
mov dword [ebp + 0x48], eax
je 0x441bce
cmp eax, esi
je 0x441bce
cmp eax, 0x5c
jne 0x441b90
lea eax, [ecx + 1]
cmp byte [eax], 0x45
jne 0x441b90
mov dword [ebp + 4], esi
mov dword [ebp + 0x50], eax
jmp 0x442c16
cmp dword [ebp + 0xc], esi
je 0x441ba8
push dword [ebp + 0x7c]
mov eax, ecx
mov ecx, dword [ebp + 0xc]
call fcn.00441ae1
add esp, 4
mov dword [ebp + 0xc], esi
test word [ebp + 0x30], 0x4000
je 0x44249e
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x50]
mov eax, ebx
mov dword [ebp + 0xc], ebx
call fcn.00441abd
mov dword [ebp + 0x4c], eax
mov ebx, eax
jmp 0x44249e
cmp eax, 0x2a
je 0x441c18
cmp eax, 0x2b
je 0x441c18
cmp eax, 0x3f
je 0x441c18
cmp eax, 0x7b
jne 0x441bee
lea eax, [ecx + 1]
call fcn.0044146e
test eax, eax
jne 0x441c18
cmp dword [ebp + 0xc], esi
mov dword [ebp + 0x2c], esi
je 0x441c1f
mov eax, dword [ebp]
dec dword [ebp]
test eax, eax
jg 0x441c1f
mov edi, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00441ae1
add esp, 4
and dword [ebp + 0xc], 0
jmp 0x441c22
mov dword [ebp + 0x2c], 1
mov edi, dword [ebp + 0x7c]
test byte [ebp + 0x30], 8
je 0x441c87
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x48]
test byte [ecx + eax], 1
jne 0x442c16
cmp dword [ebp + 0x48], 0x23
mov ecx, dword [ebp + 0x50]
jne 0x441c82
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
test al, al
je 0x441c7e
mov esi, dword [ebp + 0x7c]
mov dl, byte [esi + 0x38]
cmp al, dl
jne 0x441c63
cmp dword [esi + 0x34], 1
je 0x441c6d
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x39]
je 0x441c6d
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
test al, al
jne 0x441c51
cmp byte [ecx], 0
je 0x441c7e
mov eax, dword [esi + 0x34]
lea eax, [ecx + eax - 1]
jmp 0x441b88
and dword [ebp + 0x48], 0
mov edi, dword [ebp + 0x7c]
jmp 0x441c8a
mov ecx, dword [ebp + 0x50]
test word [ebp + 0x30], 0x4000
je 0x441caf
cmp dword [ebp + 0x2c], 0
jne 0x441caf
mov ecx, dword [ebp + 0x50]
mov esi, edi
mov eax, ebx
mov dword [ebp + 0xc], ebx
call fcn.00441abd
mov ecx, dword [ebp + 0x50]
mov dword [ebp + 0x4c], eax
mov ebx, eax
mov eax, dword [ebp + 0x48]
cmp eax, 0x2e
jg 0x44244e
je 0x44242d
xor esi, esi
sub eax, esi
je 0x442473
sub eax, 0x24
je 0x442422
sub eax, 4
je 0x441cff
dec eax
je 0x442473
dec eax
je 0x441cfa
dec eax
jne 0x44249e
mov dword [ebp + 0x24], 1
or dword [ebp + 0x20], 0xffffffff
jmp 0x442aad
mov dword [ebp + 0x24], esi
jmp 0x441cf1
mov eax, dword [ebp + 0x30]
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x3f
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x2c], esi
jne 0x4422cc
inc ecx
mov dword [ebp + 0x50], ecx
mov dl, byte [ecx]
movzx eax, dl
cmp eax, 0x3c
jg 0x441eba
je 0x441e93
cmp eax, 0x21
je 0x441e83
cmp eax, 0x23
je 0x441e66
cmp eax, 0x28
je 0x441d6b
cmp eax, 0x2f
jle 0x441ee4
cmp eax, 0x39
jle 0x441fd5
cmp eax, 0x3a
jne 0x441ee4
mov dword [ebp + 0x18], 0x50
jmp 0x4422b9
mov edx, dword [edi + 0xc]
inc ecx
movzx eax, byte [ecx]
test byte [eax + edx], 0x10
mov dword [ebp + 0x18], 0x4b
je 0x442314
and dword [ebp + 0x34], 0
mov esi, dword [edi + 0x18]
mov dword [ebp + 0x2c], 3
mov dword [ebp + 0x28], ecx
jmp 0x441dbc
cmp dword [ebp + 0x34], 0
jl 0x441dbb
movzx eax, al
test byte [eax + 0x457008], 4
je 0x441db7
mov edx, dword [ebp + 0x34]
imul edx, edx, 0xa
lea eax, [edx + eax - 0x30]
mov dword [ebp + 0x34], eax
jmp 0x441dbb
or dword [ebp + 0x34], 0xffffffff
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x29
jne 0x441d96
and dword [ebp + 0x44], 0
mov eax, ecx
sub eax, dword [ebp + 0x28]
inc ecx
cmp dword [edi + 0x1c], 0
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x50], ecx
jle 0x441dff
push dword [ebp + 0x48]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x28]
call fcn.00447330
add esp, 0xc
test eax, eax
je 0x441dff
add esi, dword [edi + 0x20]
inc dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jl 0x441ddb
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jge 0x441e10
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
jmp 0x441e52
push dword [ebp + 0x48]
mov esi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x60]
push esi
push dword [eax]
mov eax, dword [ebp + 0x50]
call fcn.00441565
add esp, 0xc
test eax, eax
jg 0x441e52
cmp dword [ebp + 0x48], 1
jne 0x441e47
cmp byte [esi], 0x52
jne 0x441e47
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], 0xff
mov byte [ebx + 5], 0xff
jmp 0x442314
mov eax, dword [ebp + 0x34]
test eax, eax
jle 0x442f88
mov ecx, eax
sar ecx, 8
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x442314
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x29
je 0x442c16
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0x29
jne 0x441e73
jmp 0x442c16
mov dword [ebp + 0x18], 0x46
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x44231b
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x21
je 0x441eae
cmp al, 0x3d
jne 0x44230e
mov dword [ebp + 0x18], 0x47
jmp 0x441e8a
mov dword [ebp + 0x18], 0x48
jmp 0x4422c6
sub eax, 0x3d
je 0x4422bf
dec eax
je 0x4422b2
sub eax, 5
je 0x44223b
sub eax, 0xd
je 0x441ff7
dec eax
dec eax
je 0x441fd1
xor edi, edi
xor esi, esi
cmp dl, 0x29
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x44], esi
lea ecx, [ebp + 0x44]
je 0x441f67
cmp dl, 0x3a
je 0x441f61
inc dword [ebp + 0x50]
movzx eax, dl
cmp eax, 0x69
jg 0x441f3b
je 0x441f36
cmp eax, 0x2d
je 0x441f31
cmp eax, 0x4a
je 0x441f29
cmp eax, 0x55
je 0x441f21
cmp eax, 0x58
jne 0x441f57
or dword [ecx], 0x40
jmp 0x441f57
or dword [ecx], 0x200
jmp 0x441f57
or dword [ecx], 0x80000
jmp 0x441f57
lea ecx, [ebp + 0x48]
jmp 0x441f57
or dword [ecx], 1
jmp 0x441f57
cmp eax, 0x6d
je 0x441f54
cmp eax, 0x73
je 0x441f4f
cmp eax, 0x78
jne 0x441f57
or dword [ecx], 8
jmp 0x441f57
or dword [ecx], 4
jmp 0x441f57
or dword [ecx], 2
mov eax, dword [ebp + 0x50]
mov dl, byte [eax]
cmp dl, 0x29
jne 0x441ef6
mov esi, dword [ebp + 0x44]
mov edi, dword [ebp + 0x48]
or esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x50]
not edi
and esi, edi
cmp byte [ecx], 0x29
mov eax, esi
mov dword [ebp + 0x14], eax
jne 0x441fbf
mov ecx, eax
xor ecx, dword [ebp + 0x30]
test cl, 7
je 0x441f94
mov byte [ebx], 0x12
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov dword [ebp + 0x4c], ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x30], eax
and eax, 1
mov dword [ebp - 0x38], ecx
xor ecx, 1
shl eax, 8
and dword [ebp + 0x40], 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], eax
jmp 0x442c16
inc dword [ebp + 0x50]
mov edi, dword [ebp + 0x7c]
mov dword [ebp + 0x18], 0x50
jmp 0x442314
inc ecx
mov dword [ebp + 0x50], ecx
xor eax, eax
jmp 0x441fe6
imul eax, eax, 0xa
inc dword [ebp + 0x50]
lea eax, [eax + ecx - 0x30]
mov ecx, dword [ebp + 0x50]
movzx ecx, byte [ecx]
test byte [ecx + 0x457008], 4
jne 0x441fd9
jmp 0x442179
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x3c
jne 0x4420e8
mov eax, dword [edi + 0x18]
inc ecx
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x48], ecx
mov al, byte [ecx]
inc ecx
cmp al, 0x3e
mov dword [ebp + 0x50], ecx
jne 0x442012
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x1c]
and dword [ebp + 0x44], 0
mov edi, ecx
sub edi, dword [ebp + 0x48]
dec edi
test eax, eax
mov dword [ebp + 0x28], edi
jle 0x4420ae
mov edi, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x28]
mov esi, dword [ebp + 0x48]
add edi, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x44204a
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x442077
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x34]
cmp byte [ecx + edx + 2], 0
jne 0x442072
test dword [ebp + 0x30], 0x80000
jne 0x442079
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x2b
jmp 0x443017
or edx, 0xffffffff
test edx, edx
jl 0x44208f
mov ecx, dword [ebp + 0x7c]
mov edx, dword [ecx + 0x20]
add dword [ebp + 0x34], edx
inc dword [ebp + 0x44]
mov edx, dword [ebp + 0x44]
cmp edx, dword [ecx + 0x1c]
jl 0x442033
jmp 0x4420ab
sub eax, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx + 0x20]
imul eax, ecx
push eax
mov eax, dword [ebp + 0x34]
push eax
add ecx, eax
push ecx
call fcn.00449080
add esp, 0xc
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp + 0x60]
mov ecx, dword [esi]
mov eax, dword [ebp + 0x34]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov cl, byte [esi]
inc cl
push edi
push dword [ebp + 0x48]
mov byte [eax + 1], cl
add eax, 2
push eax
call fcn.004473d0
mov eax, dword [ebp + 0x34]
mov byte [edi + eax + 2], 0
mov eax, dword [ebp + 0x7c]
add esp, 0xc
inc dword [eax + 0x1c]
mov edi, eax
jmp 0x4422de
cmp al, 0x3d
je 0x4420f4
cmp al, 0x3e
jne 0x44230e
mov esi, dword [edi + 0x18]
movzx eax, al
inc ecx
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x48], ecx
jmp 0x442104
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x29
jne 0x442103
sub ecx, dword [ebp + 0x48]
and dword [ebp + 0x44], 0
cmp dword [edi + 0x1c], 0
mov dword [ebp + 0x2c], ecx
jle 0x442140
push dword [ebp + 0x2c]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x48]
call fcn.00447330
add esp, 0xc
test eax, eax
je 0x442140
add esi, dword [edi + 0x20]
inc dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jl 0x44211c
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jge 0x442151
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
jmp 0x44216f
push dword [ebp + 0x2c]
mov eax, dword [ebp + 0x60]
push dword [ebp + 0x48]
push dword [eax]
mov eax, dword [ebp + 0x50]
call fcn.00441565
add esp, 0xc
test eax, eax
jle 0x442f94
cmp dword [ebp + 0x10], 0x3e
jne 0x442205
test eax, eax
mov dword [ebp + 0x40], ebx
mov byte [ebx], 0
jne 0x44218b
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x44], eax
jmp 0x44219b
push eax
mov eax, dword [edi + 0x10]
push 0
call fcn.004417e9
pop ecx
pop ecx
mov dword [ebp + 0x44], eax
test eax, eax
je 0x442f94
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x4421ca
mov eax, dword [ebp + 0x78]
push ecx
push ebx
push dword [ebp + 0x44]
call fcn.004419d8
add esp, 0xc
test eax, eax
jne 0x442f9f
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x4a
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x3f
mov ecx, eax
sub ecx, dword [edi + 0x10]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [edi + 0x10]
mov byte [ebx - 1], al
mov byte [ebx], 0x42
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov dword [ebp + 0x4c], ebx
jmp 0x442c16
mov byte [ebx], 0x3e
mov dword [ebp + 0x40], ebx
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
xor edx, edx
inc ebx
inc edx
cmp eax, 0x20
mov dword [ebp + 0x4c], ebx
jge 0x442227
mov ecx, eax
shl edx, cl
or dword [edi + 0x28], edx
cmp eax, dword [edi + 0x24]
jle 0x442c16
mov dword [edi + 0x24], eax
jmp 0x442c16
mov byte [ebx], 0x40
mov dword [ebp + 0xc], ebx
inc ebx
xor ecx, ecx
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx eax, byte [eax]
test byte [eax + 0x457008], 4
mov dword [ebp], 1
je 0x442282
imul ecx, ecx, 0xa
inc dword [ebp + 0x50]
lea ecx, [ecx + eax - 0x30]
mov eax, dword [ebp + 0x50]
movzx eax, byte [eax]
test byte [eax + 0x457008], 4
jne 0x44225d
cmp ecx, 0xff
jg 0x442faa
mov byte [ebx], cl
mov eax, dword [ebp + 0x50]
sub eax, dword [edi + 0x14]
inc ebx
inc eax
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp + 0x50]
sub al, byte [edi + 0x14]
mov byte [ebx + 2], 0
inc al
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
add ebx, 4
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x40], esi
jmp 0x442c16
mov dword [ebp + 0x18], 0x4a
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x442314
mov dword [ebp + 0x18], 0x45
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x44230e
test ax, 0x1000
je 0x4422db
mov dword [ebp + 0x18], 0x50
jmp 0x442314
mov esi, dword [ebp + 0x60]
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x64
jle 0x442308
mov byte [ebx + 3], 0x4f
mov eax, dword [esi]
sar eax, 8
mov byte [ebx + 4], al
mov al, byte [esi]
mov dword [ebp + 0x18], 0xb5
mov byte [ebx + 5], al
mov dword [ebp + 0x2c], 3
jmp 0x442314
add eax, 0x50
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x18], 0x4a
jl 0x442319
mov dword [ebp + 0x40], ebx
jmp 0x44231e
xor esi, esi
mov dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x18]
cmp eax, 0x47
mov byte [ebx], al
mov esi, dword [edi + 0x2c]
mov dword [ebp + 8], ebx
je 0x442337
cmp eax, 0x48
je 0x442337
xor eax, eax
jmp 0x44233a
xor eax, eax
inc eax
push edi
push dword [ebp + 0x78]
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push dword [ebp + 0x2c]
push eax
push dword [ebp + 0x6c]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x60]
mov eax, dword [ebp + 0x30]
and eax, 7
push eax
push dword [ebp + 0x14]
call fcn.00443021
add esp, 0x30
test eax, eax
je 0x443017
mov edi, dword [ebp + 0x18]
cmp edi, 0x4b
jne 0x4423a7
xor eax, eax
xor ecx, ecx
mov ch, byte [ebx + 1]
inc eax
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x42
jne 0x44237c
cmp eax, 2
jg 0x442fb5
cmp eax, 1
jne 0x4423a7
or eax, 0xffffffff
mov edx, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], eax
jmp 0x4423ad
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x1c]
and dword [ebp - 0xc], 0
cmp edi, 0x50
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x28], ecx
jge 0x4423d3
cmp edi, 0x4a
je 0x4423d3
cmp edi, 0x4b
je 0x4423d3
cmp edi, 0x45
jne 0x442408
jmp 0x442401
cmp ecx, 0xfffffffe
jne 0x4423f2
test eax, eax
jl 0x4423e8
mov dword [ebp + 0x38], eax
mov dword [ebp - 0xc], 1
jmp 0x4423ec
or dword [ebp + 0x38], 0xffffffff
or dword [ebp + 0x28], 0xffffffff
jmp 0x442401
test eax, eax
jl 0x442401
test edx, edx
jge 0x442405
or eax, esi
mov edx, eax
mov dword [ebp - 0x10], edx
test edx, edx
jl 0x442408
mov dword [ebp + 0x1c], edx
mov eax, dword [ebp + 8]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0x29
jne 0x442fc0
mov ebx, dword [ebp + 0x4c]
jmp 0x442c16
mov dword [ebp + 0x40], esi
mov byte [ebx], 0x14
jmp 0x442595
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x442437
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x40], ebx
mov byte [ebx], 0xb
jmp 0x442595
sub eax, 0x3f
je 0x442aa2
sub eax, 0x1c
je 0x44259b
dec eax
je 0x4424eb
dec eax
dec eax
je 0x4424cf
sub eax, 0x1d
je 0x442498
dec eax
jne 0x44249e
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp + 0x38]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp + 0x64]
mov dword [eax], ebx
xor eax, eax
inc eax
mov edx, dword [ebp + 0x68]
pop edi
pop esi
mov dword [edx], ecx
pop ebx
add ebp, 0x54
leave
ret
cmp dword [ebp + 0x2c], 0
jne 0x4424a6
mov al, byte [ebp + 0x48]
jmp 0x442a02
mov esi, dword [ebp + 0x6c]
push esi
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x50]
inc eax
call fcn.004414d0
add esp, 0xc
cmp dword [esi], 0
mov dword [ebp + 0x50], eax
jne 0x443017
jmp 0x442aad
test byte [ebp + 0x30], 2
je 0x4424df
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x4424df
or dword [ebp + 0x38], 0xffffffff
and dword [ebp + 0x40], 0
mov byte [ebx], 0x13
jmp 0x442595
mov eax, dword [ebp + 0x50]
push 0
push dword [ebp + 0x30]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x60]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044124a
add esp, 0x14
test eax, eax
jge 0x442a02
mov ecx, eax
neg ecx
cmp ecx, 0x13
jne 0x44253c
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x442530
add eax, 2
cmp byte [eax], 0x45
je 0x441b88
mov dword [ebp + 4], 1
jmp 0x442c16
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x442550
cmp ecx, 4
jle 0x442550
cmp ecx, 0x10
jge 0x442550
or dword [ebp + 0x38], 0xffffffff
cmp ecx, 0x14
mov edx, dword [ebp + 0x38]
mov dword [ebp + 0x28], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], edx
jl 0x44257e
push 0xffffffffffffffec
pop ecx
sub ecx, eax
mov byte [ebx], 0x3e
mov dword [ebp + 0x40], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x4421fd
cmp ecx, 4
jle 0x44258d
cmp ecx, 0x10
jge 0x44258d
mov dword [ebp + 0x40], ebx
jmp 0x442591
and dword [ebp + 0x40], 0
neg al
mov byte [ebx], al
inc ebx
jmp 0x4421fd
mov al, byte [ecx + 1]
cmp al, 0x3a
mov dword [ebp + 0x40], ebx
je 0x4425ad
cmp al, 0x2e
je 0x4425ad
cmp al, 0x3d
jne 0x4425c7
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp + 0x50]
mov ecx, edi
call fcn.00441a0a
test eax, eax
pop ecx
mov ecx, dword [ebp + 0x50]
jne 0x442fcb
inc ecx
mov dword [ebp + 0x50], ecx
movzx esi, byte [ecx]
cmp esi, 0x5e
jne 0x4425e3
inc ecx
mov dword [ebp + 0x50], ecx
movzx esi, byte [ecx]
mov dword [ebp + 0x2c], 1
jmp 0x4425e7
and dword [ebp + 0x2c], 0
and dword [ebp + 0x48], 0
or dword [ebp + 0x4c], 0xffffffff
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x30]
rep stosd dword es:[edi], eax
cmp dword [ebp + 4], 0
je 0x442621
cmp esi, 0x5c
jne 0x44296b
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x44296b
and dword [ebp + 4], 0
mov dword [ebp + 0x50], eax
jmp 0x4429b5
cmp esi, 0x5b
jne 0x44274b
mov edx, dword [ebp + 0x50]
mov al, byte [edx + 1]
cmp al, 0x3a
je 0x442640
cmp al, 0x2e
je 0x442640
cmp al, 0x3d
jne 0x442782
mov edi, dword [ebp + 0x7c]
lea eax, [ebp - 4]
push eax
mov ecx, edi
mov eax, edx
call fcn.00441a0a
test eax, eax
pop ecx
je 0x442782
mov eax, dword [edi + 8]
and dword [ebp + 0x14], 0
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x3a
jne 0x442fe2
inc eax
inc eax
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5e
jne 0x442685
inc eax
mov dword [ebp + 0x14], 1
mov dword [ebp + 0x50], eax
mov ecx, dword [ebp - 4]
sub ecx, eax
push ecx
push eax
call fcn.00441a40
test eax, eax
pop ecx
pop ecx
jl 0x442fed
test byte [ebp + 0x30], 1
je 0x4426a8
cmp eax, 2
jg 0x4426a8
xor eax, eax
mov edx, dword [ebp + 0x10]
imul eax, eax, 3
shl eax, 2
mov esi, dword [eax + 0x456f60]
push 8
add esi, edx
pop ecx
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x456f64]
mov edi, dword [eax + 0x456f68]
xor eax, eax
cmp ecx, eax
jl 0x4426f9
xor esi, esi
add ecx, edx
cmp edi, eax
jl 0x4426ea
mov dl, byte [ecx + esi]
or byte [ebp + esi - 0x60], dl
inc esi
cmp esi, 0x20
jl 0x4426db
jmp 0x4426f9
mov dl, byte [ecx + esi]
not dl
and byte [ebp + esi - 0x60], dl
inc esi
cmp esi, 0x20
jl 0x4426ea
cmp edi, eax
jge 0x4426ff
neg edi
cmp edi, 1
jne 0x44270a
and byte [ebp - 0x5f], 0xc3
jmp 0x442713
cmp edi, 2
jne 0x442713
and byte [ebp - 0x55], 0x7f
cmp dword [ebp + 0x14], eax
je 0x44272a
mov cl, byte [ebp + eax - 0x60]
not cl
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x442718
jmp 0x442738
mov cl, byte [ebp + eax - 0x60]
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x44272a
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x48], 0xa
jmp 0x4429b5
cmp esi, 0x5c
jne 0x442782
mov eax, dword [ebp + 0x60]
xor edi, edi
inc edi
push edi
push dword [ebp + 0x30]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044124a
mov esi, eax
mov ecx, esi
neg ecx
add esp, 0x14
cmp ecx, 4
jne 0x44277a
push 8
jmp 0x442781
cmp ecx, 0xf
jne 0x4427e3
push 0x58
pop esi
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x2d
jne 0x44296b
add eax, 2
cmp byte [eax], 0x5d
je 0x44296b
mov edi, eax
mov dword [ebp + 0x50], edi
movzx eax, byte [edi]
cmp eax, 0x5c
mov dword [ebp + 0x44], eax
jne 0x4428f9
mov eax, dword [ebp + 0x60]
push 1
push dword [ebp + 0x30]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044124a
add esp, 0x14
test eax, eax
mov dword [ebp + 0x44], eax
jge 0x4428f9
cmp eax, 0xfffffffc
jne 0x4428ee
push 8
jmp 0x4428f5
cmp ecx, 0x13
jne 0x442805
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x4427fd
add eax, 2
cmp byte [eax], 0x45
je 0x442619
mov dword [ebp + 4], edi
jmp 0x4429b5
test esi, esi
jge 0x442782
mov eax, dword [ebp + 0x7c]
add dword [ebp + 0x48], 2
sub ecx, 5
mov eax, dword [eax + 8]
je 0x4428d7
dec ecx
je 0x4428c2
dec ecx
je 0x44289f
dec ecx
je 0x44287e
dec ecx
je 0x442864
dec ecx
je 0x44284c
test byte [ebp + 0x30], 0x40
jne 0x442ff8
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
sub dword [ebp + 0x48], 2
jmp 0x442782
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44284e
jmp 0x4429b5
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x442866
jmp 0x4429b5
mov edi, eax
lea eax, [ebp - 0x30]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x30]
mov al, byte [edi + ecx]
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x442887
and byte [ebp - 0x2f], 0xf7
jmp 0x4429b5
mov edi, eax
lea eax, [ebp - 0x30]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x30]
mov al, byte [edi + ecx]
not al
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x4428a8
or byte [ebp - 0x2f], 8
jmp 0x4429b5
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x4428c4
jmp 0x4429b5
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x4428d9
jmp 0x4429b5
cmp eax, 0xfffffff1
jne 0x442965
push 0x58
pop eax
mov dword [ebp + 0x44], eax
cmp esi, eax
je 0x44296b
jg 0x4429b5
mov ecx, dword [ebp + 0x30]
and ecx, 1
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0x48]
sub eax, esi
lea eax, [ecx + eax + 1]
mov dword [ebp + 0x48], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
cmp dword [ebp + 0x10], 0
je 0x44295a
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + esi]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
mov dword [ebp + 0x4c], esi
inc esi
cmp esi, dword [ebp + 0x44]
jle 0x442918
jmp 0x4429b5
add edi, 0xfffffffe
mov dword [ebp + 0x50], edi
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
test byte [ebp + 0x30], 1
je 0x4429af
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx esi, byte [eax + esi]
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
inc dword [ebp + 0x48]
mov dword [ebp + 0x4c], esi
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
cmp esi, 0x5d
jne 0x4425f9
xor eax, eax
cmp dword [ebp + 4], eax
jne 0x4425f9
cmp dword [ebp + 0x48], 1
jne 0x442a56
cmp dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], ecx
je 0x4429ff
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x4429ed
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
mov al, byte [ebp + 0x4c]
mov byte [ebx], 0x17
inc ebx
jmp 0x442593
mov al, byte [ebp + 0x4c]
test byte [ebp + 0x30], 1
mov dword [ebp + 0x40], ebx
setne cl
add cl, 0x15
mov byte [ebx], cl
mov ecx, dword [ebp + 0x38]
inc ebx
mov byte [ebx], al
inc ebx
cmp ecx, 0xfffffffe
mov dword [ebp + 0x4c], ebx
jne 0x442a38
or dword [ebp + 0x28], 0xffffffff
mov ecx, dword [ebp + 0x1c]
movzx eax, al
or eax, dword [ebp - 8]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
jmp 0x442c16
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
movzx eax, byte [ebx - 1]
mov dword [ebp + 0x28], ecx
mov ecx, dword [ebp + 0x7c]
or eax, dword [ecx + 0x2c]
or eax, dword [ebp - 8]
mov dword [ebp + 0x1c], eax
jmp 0x442c16
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x442a60
or dword [ebp + 0x38], 0xffffffff
cmp dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x28], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], ecx
je 0x442a8c
mov byte [ebx], 0x3c
inc ebx
lea eax, [ebp - 0x30]
push 0x20
mov esi, ebx
sub eax, ebx
pop edi
mov cl, byte [eax + esi]
not cl
mov byte [esi], cl
inc esi
dec edi
jne 0x442a7f
jmp 0x442a9a
mov byte [ebx], 0x3b
inc ebx
push 8
pop ecx
lea esi, [ebp - 0x30]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
add ebx, 0x20
jmp 0x4421fd
and dword [ebp + 0x24], 0
mov dword [ebp + 0x20], 1
mov esi, dword [ebp + 0x40]
test esi, esi
mov ecx, dword [ebp + 0x20]
je 0x443003
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x442ace
mov edx, dword [ebp + 0x28]
mov dword [ebp + 0x38], edx
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x1c], edx
mov edi, dword [ebp + 0x50]
sub eax, ecx
neg eax
sbb eax, eax
and dword [ebp + 0x2c], 0
and dword [ebp + 0x10], 0
and eax, 0x200
inc edi
mov dword [ebp - 0x40], eax
mov dword [ebp + 8], esi
mov al, byte [edi]
cmp al, 0x2b
jne 0x442b02
xor eax, eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x10], 1
mov dword [ebp + 0x50], edi
jmp 0x442b14
cmp al, 0x3f
jne 0x442b0e
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x50], edi
jmp 0x442b11
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x48], eax
cmp byte [esi], 0x3f
jne 0x442b5d
mov eax, dword [ebp + 0x40]
push 3
push eax
add eax, 3
push eax
call fcn.00449080
mov eax, dword [ebp + 0x40]
mov esi, dword [ebp + 0x40]
add ebx, 3
mov ecx, ebx
sub ecx, eax
sar ecx, 8
mov dl, bl
sub dl, al
mov byte [eax + 1], cl
mov byte [eax], 0x50
mov byte [eax + 2], dl
mov eax, dword [ebp + 0x48]
mov byte [ebx + 1], cl
mov ecx, dword [ebp + 0x20]
add esp, 0xc
mov byte [ebx], 0x42
mov byte [ebx + 2], dl
add ebx, 3
mov dword [ebp + 0x4c], ebx
mov dl, byte [esi]
cmp dl, 0x15
mov byte [ebp + 0x3f], dl
je 0x442dff
cmp dl, 0x16
je 0x442dff
cmp dl, 0x17
jne 0x442b8c
movzx edx, byte [esi + 1]
mov dword [ebp + 0x2c], 9
mov dword [ebp + 0x48], edx
jmp 0x442e1b
cmp dl, 0x10
jae 0x442b9e
movzx edx, byte [ebp + 0x3f]
mov dword [ebp + 0x2c], 0x12
jmp 0x442b84
cmp dl, 0x3b
je 0x442d8d
cmp dl, 0x3c
je 0x442d8d
cmp dl, 0x3e
je 0x442d8d
cmp dl, 0x50
jae 0x442bcc
cmp dl, 0x4a
je 0x442bcc
cmp dl, 0x4b
jne 0x44300e
and dword [ebp + 0x14], 0
and dword [ebp + 0x44], 0
mov edi, ebx
sub edi, esi
cmp ecx, 0xffffffff
jne 0x442bf5
mov edx, esi
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x42
jne 0x442bdf
mov eax, ebx
sub eax, edx
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x24], 0
jne 0x442c9d
test ecx, ecx
jne 0x442c23
mov dword [ebp + 0x4c], esi
mov ebx, dword [ebp + 0x4c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x7c]
and dword [ebp + 0x40], 0
or dword [eax + 0x2c], ecx
inc dword [ebp + 0x50]
mov ecx, dword [ebp + 0x50]
xor esi, esi
jmp 0x441b69
cmp ecx, 1
push dword [ebp + 0x7c]
mov byte [ebx], 0
push 0
push dword [ebp + 0x40]
jg 0x442c5b
xor ebx, ebx
inc ebx
call fcn.00441a7e
mov esi, dword [ebp + 0x40]
push edi
lea ebx, [esi + 1]
push esi
push ebx
call fcn.00449080
mov al, byte [ebp + 0x48]
add esp, 0x18
inc dword [ebp + 0x4c]
add al, 0x4d
mov byte [esi], al
mov dword [ebp + 0x40], ebx
jmp 0x442c92
push 4
pop ebx
call fcn.00441a7e
mov esi, dword [ebp + 0x40]
push edi
lea eax, [esi + 4]
push esi
push eax
call fcn.00449080
mov al, byte [ebp + 0x48]
add dword [ebp + 0x4c], ebx
add al, 0x4d
mov byte [esi], al
add esp, 0x18
inc esi
mov byte [esi], 0x50
inc esi
mov dword [ebp + 0x44], esi
mov byte [esi], 0
mov byte [esi + 1], 0
inc esi
inc esi
mov dword [ebp + 0x40], esi
dec dword [ebp + 0x20]
mov ebx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x20]
jmp 0x442ce1
cmp dword [ebp + 0x24], 1
jle 0x442cd4
cmp dword [ebp - 0xc], 0
je 0x442cb5
cmp dword [ebp + 0x1c], 0
jge 0x442cb5
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x1c], eax
cmp dword [ebp + 0x24], 1
jle 0x442cd4
mov esi, dword [ebp + 0x24]
dec esi
push edi
push dword [ebp + 0x40]
push ebx
call fcn.004473d0
add esp, 0xc
add ebx, edi
dec esi
jne 0x442cbf
mov dword [ebp + 0x4c], ebx
mov eax, dword [ebp + 0x20]
test eax, eax
jle 0x442ce3
sub eax, dword [ebp + 0x24]
mov dword [ebp + 0x20], eax
test eax, eax
jl 0x442d7e
lea esi, [eax - 1]
test esi, esi
jl 0x442d39
mov al, byte [ebp + 0x48]
add al, 0x4d
mov byte [ebp + 0x3f], al
jmp 0x442cfd
mov al, byte [ebp + 0x3f]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x442d24
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x50
inc ebx
mov ecx, ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
sar ecx, 8
mov dword [ebp + 0x44], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push edi
push dword [ebp + 0x40]
push ebx
call fcn.004473d0
add esp, 0xc
add ebx, edi
dec esi
jns 0x442cfa
mov dword [ebp + 0x4c], ebx
cmp dword [ebp + 0x44], 0
je 0x442f33
mov esi, dword [ebp + 0x44]
xor edx, edx
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x42
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp + 0x14], edx
neg edx
sbb edx, edx
and esi, edx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
test esi, esi
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jne 0x442d46
jmp 0x442df7
mov al, byte [ebp + 0x48]
mov ecx, ebx
add al, 0x43
sub ecx, dword [ebp + 0x14]
jmp 0x442f31
test ecx, ecx
je 0x442c03
xor esi, esi
inc esi
cmp ecx, esi
je 0x442da2
mov edx, dword [ebp + 0x7c]
mov dword [edx + 0x30], esi
cmp dword [ebp + 0x24], 0
jne 0x442db1
cmp ecx, 0xffffffff
jne 0x442dc0
add al, 0x33
jmp 0x442dc6
cmp dword [ebp + 0x24], 1
jne 0x442dcb
cmp ecx, 0xffffffff
jne 0x442dcb
add al, 0x35
jmp 0x442dc6
cmp ecx, esi
jne 0x442dcb
add al, 0x37
mov byte [ebx], al
inc ebx
jmp 0x442df7
add al, 0x39
mov byte [ebx], al
mov eax, dword [ebp + 0x24]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp ecx, 0xffffffff
jne 0x442deb
and dword [ebp + 0x20], 0
mov ecx, dword [ebp + 0x20]
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
mov dword [ebp + 0x4c], ebx
jmp 0x442f33
cmp dword [ebp + 0x24], 1
movzx edx, byte [ebx - 1]
mov dword [ebp + 0x48], edx
jle 0x442e1b
mov edx, dword [ebp + 0x7c]
mov edi, dword [edx + 0x2c]
or edi, dword [ebp + 0x48]
or edi, dword [ebp - 8]
mov dword [ebp + 0x1c], edi
cmp byte [ebp + 0x3f], 0xe
je 0x442e31
cmp byte [ebp + 0x3f], 0xd
je 0x442e31
or dword [ebp + 0x40], 0xffffffff
or dword [ebp + 0x44], 0xffffffff
jmp 0x442e3f
movzx edx, byte [esi + 1]
mov dword [ebp + 0x44], edx
movzx edx, byte [esi + 2]
mov dword [ebp + 0x40], edx
test ecx, ecx
mov edi, ebx
mov dword [ebp + 0x4c], esi
je 0x442c06
xor edx, edx
inc edx
cmp ecx, edx
je 0x442e59
mov ebx, dword [ebp + 0x7c]
mov dword [ebx + 0x30], edx
mov ebx, dword [ebp + 0x2c]
add eax, ebx
cmp dword [ebp + 0x24], 0
jne 0x442e80
cmp ecx, 0xffffffff
jne 0x442e73
add al, 0x18
mov byte [esi], al
inc esi
jmp 0x442f22
cmp ecx, 1
jne 0x442f11
add al, 0x1c
jmp 0x442e6b
cmp dword [ebp + 0x24], 1
jne 0x442eb6
cmp ecx, 0xffffffff
jne 0x442e8f
add al, 0x1a
jmp 0x442e6b
cmp ecx, 1
mov dword [ebp + 0x4c], edi
je 0x442c06
add al, 0x1e
mov byte [edi], al
lea edx, [ecx - 1]
sar edx, 8
lea eax, [edi + 1]
dec cl
mov byte [eax], dl
mov byte [eax + 1], cl
inc eax
inc eax
mov dword [ebp + 0x4c], eax
jmp 0x442f25
mov edx, dword [ebp + 0x24]
add bl, 0x20
mov byte [esi], bl
inc esi
mov ebx, edx
sar ebx, 8
mov byte [esi], bl
mov byte [esi + 1], dl
inc esi
inc esi
test ecx, ecx
mov dword [ebp + 0x4c], esi
jge 0x442eed
mov cl, byte [ebp + 0x48]
mov byte [esi], cl
mov ecx, dword [ebp + 0x44]
inc esi
test ecx, ecx
jl 0x442e69
mov byte [esi], cl
mov cl, byte [ebp + 0x40]
inc esi
mov byte [esi], cl
inc esi
jmp 0x442e69
cmp ecx, edx
je 0x442f25
mov esi, dword [ebp + 0x4c]
mov bl, byte [ebp + 0x48]
mov byte [esi], bl
inc esi
cmp dword [ebp + 0x44], 0
jl 0x442f0c
mov bl, byte [ebp + 0x44]
mov byte [esi], bl
mov bl, byte [ebp + 0x40]
inc esi
mov byte [esi], bl
inc esi
sub ecx, edx
mov dword [ebp + 0x20], ecx
add al, 0x1e
mov byte [esi], al
inc esi
mov eax, ecx
sar eax, 8
mov byte [esi], al
mov byte [esi + 1], cl
inc esi
inc esi
mov dword [ebp + 0x4c], esi
mov ecx, dword [ebp + 0x4c]
inc dword [ebp + 0x4c]
mov al, byte [ebp + 0x48]
mov ebx, dword [ebp + 0x4c]
mov byte [ecx], al
cmp dword [ebp + 0x10], 0
je 0x442c09
mov ecx, dword [ebp + 8]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
push ecx
mov dword [ebp + 0x10], eax
call fcn.00449080
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov byte [eax], 0x4a
add ecx, 3
add ebx, 3
mov byte [ebx], 0x42
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 8]
inc ebx
mov byte [edx + 1], al
mov eax, dword [ebp + 8]
inc ebx
mov dword [ebp + 0x4c], ebx
mov byte [eax + 2], cl
jmp 0x442c09
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
jmp 0x442fdb
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xf
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x28
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x26
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1b
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xe
jmp 0x443017
xor eax, eax
cmp byte [ecx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov ecx, dword [ebp + 0x6c]
mov dword [ecx], eax
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1f
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1e
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 7
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 9
jmp 0x443017
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xb
mov ecx, dword [ebp + 0x50]
xor eax, eax
jmp 0x44248b