Function at 0x1010e90
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xd0
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax]
mov eax, dword [ebp + 0x60]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
mov eax, edx
shr eax, 9
and eax, 1
push esi
mov dword [ebp - 0x58], eax
xor eax, 1
push edi
mov edi, dword [ebp + 0x78]
mov dword [ebp - 0x5c], eax
xor esi, esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 8], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x38], eax
mov eax, edx
and eax, 1
shl eax, 8
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x28], edx
mov dword [ebp - 0x48], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x54], esi
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x48], esi
mov dword [ebp], esi
mov dword [ebp + 4], esi
mov dword [ebp - 0x4c], eax
movzx edx, byte [ecx]
mov eax, dword [edi + 0x10]
add eax, 0x1000
mov dword [ebp + 0x4c], edx
cmp dword [ebp + 0x7c], esi
je 0x1010f88
cmp ebx, eax
ja 0x1013081
cmp ebx, dword [ebp - 0x10]
jae 0x1010f27
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov ecx, ebx
sub ecx, dword [ebp - 0x10]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, ecx
jl 0x101308f
sub eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x7c]
add eax, ebx
mov dword [ecx], eax
mov eax, dword [ebp + 0x48]
cmp eax, esi
je 0x1010f7a
cmp eax, dword [ebp - 0x40]
jbe 0x1010f7d
mov eax, ebx
sub eax, dword [ebp + 0x48]
push eax
push dword [ebp + 0x48]
push dword [ebp - 0x40]
call dword [0x1020814]
mov eax, dword [ebp - 0x40]
mov ecx, eax
sub ecx, dword [ebp + 0x48]
add esp, 0xc
add ebx, ecx
mov dword [ebp + 0x48], eax
jmp 0x1010f7d
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp + 0x50]
mov edx, dword [ebp + 0x4c]
mov dword [ebp - 0x10], ebx
jmp 0x1010f91
cmp dword [edi + 0x20], eax
ja 0x1013081
cmp dword [ebp + 0xc], esi
je 0x1011027
cmp edx, esi
je 0x1011027
cmp edx, 0x5c
jne 0x1010fba
lea eax, [ecx + 1]
cmp byte [eax], 0x45
jne 0x1010fba
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x50], eax
jmp 0x1013074
mov eax, dword [ebp]
cmp eax, esi
je 0x1010fec
cmp dword [ebp + 0x7c], esi
jne 0x1010fe6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp]
sub ecx, edx
sub ecx, dword [edi + 0x18]
mov edx, ecx
sar edx, 8
mov byte [eax + 4], dl
mov byte [eax + 5], cl
mov edx, dword [ebp + 0x4c]
mov dword [ebp], esi
test dword [ebp + 0x28], 0x4000
je 0x10121c2
mov eax, dword [ebp + 0x50]
mov byte [ebx], 0x53
mov dword [ebp], ebx
inc ebx
mov byte [ebx], 0xff
mov ecx, eax
sub ecx, dword [edi + 0x18]
inc ebx
sar ecx, 8
mov byte [ebx], cl
sub al, byte [edi + 0x18]
mov byte [ebx + 2], 0
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
add ebx, 4
jmp 0x10121c2
cmp edx, 0x2a
je 0x10110a7
cmp edx, 0x2b
je 0x10110a7
cmp edx, 0x3f
je 0x10110a7
cmp edx, 0x7b
jne 0x1011048
mov eax, dword [ebp + 0x50]
inc eax
call fcn.01010055
test eax, eax
jne 0x10110a7
mov ecx, dword [ebp]
mov dword [ebp + 0x34], esi
cmp ecx, esi
je 0x1011084
mov eax, dword [ebp - 0x48]
dec dword [ebp - 0x48]
test eax, eax
jg 0x1011084
cmp dword [ebp + 0x7c], esi
jne 0x1011081
movzx edx, byte [ecx + 2]
movzx eax, byte [ecx + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x50]
sub eax, edx
sub eax, dword [edi + 0x18]
mov edx, eax
sar edx, 8
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
mov dword [ebp], esi
test byte [ebp + 0x28], 8
je 0x10110f9
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x4c]
test byte [ecx + eax], 1
jne 0x1013074
cmp ecx, 0x23
jne 0x10110f9
mov eax, dword [ebp + 0x50]
jmp 0x10111c7
mov dword [ebp + 0x34], 1
jmp 0x1011084
mov edx, dword [edi + 0x50]
test edx, edx
je 0x10111a1
mov ecx, dword [edi + 0x1c]
cmp eax, ecx
jae 0x10111c7
push 0
lea esi, [edi + 0x54]
push esi
push ecx
push edx
push eax
call fcn.01016073
add esp, 0x14
test eax, eax
mov eax, dword [ebp + 0x50]
je 0x10111c7
mov ecx, dword [edi + 0x54]
lea eax, [eax + ecx - 1]
mov dword [ebp + 0x50], eax
cmp byte [eax], 0
jne 0x1013074
and dword [ebp + 0x4c], 0
mov esi, dword [ebp + 0x50]
xor ecx, ecx
test dword [ebp + 0x28], 0x4000
je 0x1011135
cmp dword [ebp + 0x34], ecx
jne 0x1011135
mov byte [ebx], 0x53
mov dword [ebp], ebx
mov eax, esi
inc ebx
mov byte [ebx], 0xff
mov edx, eax
sub edx, dword [edi + 0x18]
inc ebx
sar edx, 8
mov byte [ebx], dl
sub al, byte [edi + 0x18]
mov byte [ebx + 2], cl
mov byte [ebx + 1], al
mov byte [ebx + 3], cl
mov esi, dword [ebp + 0x50]
add ebx, 4
mov edx, dword [ebp + 0x4c]
cmp edx, 0x3f
jg 0x1011924
je 0x1011915
mov eax, edx
sub eax, ecx
je 0x1011950
sub eax, 0x24
je 0x101190a
sub eax, 4
je 0x10111ef
dec eax
je 0x1011950
dec eax
je 0x10111e3
dec eax
je 0x10111da
sub eax, 3
jne 0x10121c2
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x1011183
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x28]
shr eax, 2
and al, 1
mov dword [ebp + 0x48], ebx
or al, 0xc
jmp 0x10128ff
mov edx, dword [edi + 0x54]
mov esi, dword [edi + 0x1c]
sub esi, edx
cmp eax, esi
ja 0x10111c7
cmp cl, byte [edi + 0x58]
jne 0x10111c7
cmp edx, 1
je 0x10110e2
mov cl, byte [eax + 1]
cmp cl, byte [edi + 0x59]
je 0x10110e2
inc eax
mov dword [ebp + 0x50], eax
mov cl, byte [eax]
test cl, cl
jne 0x10110b0
jmp 0x10110f5
mov dword [ebp + 0x1c], 1
jmp 0x10111e6
mov dword [ebp + 0x1c], ecx
or dword [ebp + 0x2c], 0xffffffff
jmp 0x10119c9
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 0x20]
inc esi
mov dword [ebp + 4], eax
mov dword [ebp + 0x50], esi
mov al, byte [esi]
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x3c], 0x5f
mov dword [ebp + 0x20], ecx
cmp al, 0x2a
jne 0x10112d6
mov ecx, dword [edi + 0xc]
lea edx, [esi + 1]
mov dword [ebp + 0x34], edx
movzx edx, byte [edx]
test byte [edx + ecx], 2
je 0x10112d6
mov esi, dword [ebp + 0x34]
and dword [ebp + 0x48], 0
mov dword [ebp + 0x24], 0x101d2a0
mov dword [ebp + 0x20], esi
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + ecx], 2
jne 0x101123d
mov al, byte [esi]
cmp al, 0x3a
je 0x101309d
cmp al, 0x29
jne 0x10130ab
sub esi, dword [ebp + 0x20]
mov dword [ebp + 0x10], esi
xor esi, esi
mov eax, dword [ebp + 0x10]
cmp eax, dword [esi*8 + 0x101d2c8]
jne 0x1011284
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call dword [0x1020804]
add esp, 0xc
test eax, eax
je 0x101129d
mov eax, dword [esi*8 + 0x101d2c8]
mov ecx, dword [ebp + 0x24]
inc esi
cmp esi, 7
lea eax, [ecx + eax + 1]
mov dword [ebp + 0x24], eax
jl 0x1011264
jmp 0x10112b2
mov al, byte [esi*8 + 0x101d2cc]
mov byte [ebx], al
inc ebx
cmp al, 0x6e
jne 0x10112b2
mov dword [edi + 0x4c], 1
cmp esi, 7
jl 0x1013074
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3c
mov esi, dword [ebp + 0x50]
mov eax, dword [ebp + 0x64]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret
mov ecx, dword [ebp + 0x68]
cmp al, 0x3f
jne 0x10118f5
inc esi
mov dword [ebp + 0x50], esi
mov dl, byte [esi]
movzx eax, dl
cmp eax, 0x3a
jg 0x1011656
je 0x101168b
cmp eax, 0x28
jg 0x1011639
je 0x10113ad
sub eax, 0x21
je 0x1011361
dec eax
dec eax
je 0x1011335
sub eax, 3
je 0x1011322
dec eax
je 0x1011796
jmp 0x1012357
mov dword [ebp + 0x4c], 0x29
mov dword [ebp + 0x24], 1
jmp 0x1012694
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
je 0x1011356
cmp al, 0x29
je 0x101134d
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
jne 0x101133f
cmp byte [esi], 0
jne 0x1013074
mov dword [ecx], 0x12
jmp 0x10112c7
inc esi
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x29
jne 0x1011377
mov byte [ebx], 0x6d
inc ebx
and dword [ebp + 0x48], 0
jmp 0x1013074
mov dword [ebp + 0x3c], 0x59
and dword [ebp + 0x48], 0
mov eax, dword [ebp + 0x3c]
mov byte [ebx], al
mov ecx, dword [edi + 0x48]
and dword [ebp - 4], 0
mov dword [ebp + 0x18], ebx
mov dword [ebp - 0x14], ecx
cmp eax, 0x5a
je 0x1012453
cmp eax, 0x5b
je 0x1012453
xor eax, eax
jmp 0x1012456
cmp byte [esi + 1], 0x3f
mov dword [ebp + 0x3c], 0x60
jne 0x10113d5
mov al, byte [esi + 2]
cmp al, 0x3d
je 0x1011696
cmp al, 0x21
je 0x1011696
cmp al, 0x3c
je 0x1011696
or dword [ebp + 0x48], 0xffffffff
mov byte [ebx + 3], 0x64
mov esi, dword [ebp + 0x50]
lea eax, [esi + 1]
mov cl, byte [eax]
mov dword [ebp + 0x24], 3
cmp cl, 0x52
jne 0x1011409
lea edx, [esi + 2]
cmp byte [edx], 0x26
jne 0x1011409
or dword [ebp + 0x4c], 0xffffffff
mov dword [ebp + 0x50], edx
mov byte [ebx + 3], 0x65
mov esi, dword [ebp + 0x50]
jmp 0x1011443
cmp cl, 0x3c
jne 0x1011417
mov dword [ebp + 0x4c], 0x3e
jmp 0x1011423
cmp cl, 0x27
jne 0x101142a
mov dword [ebp + 0x4c], 0x27
mov esi, eax
mov dword [ebp + 0x50], esi
jmp 0x1011443
and dword [ebp + 0x4c], 0
cmp cl, 0x2d
je 0x1011438
cmp cl, 0x2b
jne 0x1011443
mov esi, eax
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
mov dword [ebp + 0x48], eax
mov ecx, dword [edi + 0xc]
lea eax, [esi + 1]
movzx edx, byte [eax]
test byte [edx + ecx], 0x10
je 0x10130b9
mov esi, eax
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor edx, edx
test byte [ecx + eax], 0x10
mov dword [ebp + 0x30], edx
mov dword [ebp + 0x44], esi
je 0x1011495
test edx, edx
jl 0x1011485
test byte [eax + 0x101d418], 4
je 0x1011482
imul edx, edx, 0xa
lea edx, [edx + eax - 0x30]
jmp 0x1011485
or edx, 0xffffffff
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + ecx], 0x10
jne 0x101146c
mov dword [ebp + 0x30], edx
mov eax, esi
sub eax, dword [ebp + 0x44]
cmp dword [ebp + 0x4c], 0
mov dword [ebp + 0x40], eax
jle 0x10114b3
movzx eax, byte [esi]
inc esi
mov dword [ebp + 0x50], esi
cmp eax, dword [ebp + 0x4c]
jne 0x10130c8
mov al, byte [esi]
inc esi
mov dword [ebp + 0x50], esi
cmp al, 0x29
jne 0x10130c8
cmp dword [ebp + 0x7c], 0
jne 0x1011696
xor eax, eax
cmp dword [ebp + 0x48], eax
jle 0x101150e
cmp edx, eax
jle 0x10130d7
cmp dword [ebp + 0x48], 0x2d
jne 0x10114ea
mov ecx, dword [edi + 0x30]
sub ecx, edx
inc ecx
mov edx, ecx
jmp 0x10114ed
add edx, dword [edi + 0x30]
cmp edx, eax
jle 0x1012620
cmp edx, dword [edi + 0x34]
jg 0x1012620
mov eax, edx
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], dl
jmp 0x1011696
cmp dword [edi + 0x28], eax
mov ecx, dword [edi + 0x24]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x48], eax
jle 0x1011549
mov esi, ecx
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x44]
call dword [0x1020804]
add esp, 0xc
test eax, eax
je 0x1011546
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [edi + 0x28]
mov dword [ebp + 0x34], esi
jl 0x101151e
mov esi, dword [ebp + 0x50]
mov eax, dword [ebp + 0x48]
cmp eax, dword [edi + 0x28]
jge 0x1011570
mov eax, dword [ebp + 0x34]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov eax, ecx
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], cl
jmp 0x1011696
mov eax, dword [ebp + 0x28]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x40]
mov eax, esi
push dword [ebp + 0x44]
push edi
call fcn.0101014c
add esp, 0x10
test eax, eax
jle 0x101159f
mov ecx, eax
sar ecx, 8
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x1011696
xor ecx, ecx
cmp dword [ebp + 0x4c], ecx
jne 0x10130e5
mov edx, dword [ebp + 0x44]
cmp byte [edx], 0x52
jne 0x10115ea
xor esi, esi
inc esi
cmp dword [ebp + 0x40], esi
jle 0x10115dc
movzx eax, byte [esi + edx]
test byte [eax + 0x101d418], 4
je 0x10130e5
imul ecx, ecx, 0xa
inc esi
cmp esi, dword [ebp + 0x40]
lea ecx, [ecx + eax - 0x30]
jl 0x10115ba
test ecx, ecx
jne 0x10115e1
mov ecx, 0xffff
mov byte [ebx + 3], 0x65
jmp 0x1011560
cmp dword [ebp + 0x40], 6
jne 0x1011615
push 6
push 0x101d528
push edx
call dword [0x1020804]
add esp, 0xc
test eax, eax
jne 0x1011615
mov byte [ebx + 3], 0x66
mov dword [ebp + 0x24], 1
jmp 0x1011696
mov eax, dword [ebp + 0x30]
test eax, eax
jle 0x1011625
cmp eax, dword [edi + 0x34]
jle 0x101158f
mov ecx, dword [ebp + 0x68]
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [ecx], eax
jmp 0x10112c4
cmp eax, 0x2b
je 0x10116a2
cmp eax, 0x2d
je 0x10116a2
cmp eax, 0x2f
jle 0x1012357
cmp eax, 0x39
jle 0x10116a2
jmp 0x1012357
sub eax, 0x3c
je 0x1011770
dec eax
je 0x1011760
dec eax
je 0x1011754
sub eax, 5
je 0x10116e9
sub eax, 0xd
je 0x10116ae
dec eax
dec eax
je 0x101169e
sub eax, 0x2a
jne 0x1012357
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x3c], 0x5e
inc esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x48], ebx
jmp 0x1011382
inc esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], 0x29
jmp 0x101230c
inc esi
mov dword [ebp + 0x50], esi
mov dl, byte [esi]
cmp dl, 0x3d
je 0x10116d2
cmp dl, 0x3e
je 0x10116d2
cmp dl, 0x3c
je 0x1011796
mov dword [ecx], 0x29
jmp 0x10112c7
xor eax, eax
cmp dl, 0x3e
sete al
mov dword [ebp + 0x4c], 0x29
mov dword [ebp + 0x24], eax
jmp 0x1012694
mov byte [ebx], 0x53
mov esi, dword [ebp + 0x50]
mov dword [ebp], ebx
inc ebx
mov dword [ebp - 0x48], 1
xor ecx, ecx
jmp 0x1011705
imul ecx, ecx, 0xa
lea ecx, [ecx + eax - 0x30]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x101d418], 4
jne 0x10116fe
cmp byte [esi], 0x29
jne 0x10130f3
cmp ecx, 0xff
jg 0x1013101
mov byte [ebx], cl
mov eax, dword [ebp + 0x50]
sub eax, dword [edi + 0x18]
inc ebx
inc eax
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp + 0x50]
sub al, byte [edi + 0x18]
mov byte [ebx + 2], 0
inc al
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
add ebx, 4
jmp 0x101136e
mov dword [ebp + 0x3c], 0x5d
jmp 0x1011692
mov dword [ebp + 0x3c], 0x58
inc esi
mov dword [ebp + 0x50], esi
jmp 0x101137e
mov al, byte [esi + 1]
cmp al, 0x21
je 0x10118ec
cmp al, 0x3d
je 0x10118de
mov ecx, dword [edi + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x1013125
mov ecx, dword [ebp + 0x68]
xor eax, eax
cmp dl, 0x3c
mov edx, dword [edi + 0xc]
setne al
dec eax
and eax, 0x17
add eax, 0x27
inc esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], eax
movzx eax, byte [esi]
test byte [eax + edx], 0x10
mov dword [ebp + 0x44], esi
je 0x10117ca
mov eax, edx
inc esi
mov dword [ebp + 0x50], esi
movzx edx, byte [esi]
test byte [edx + eax], 0x10
jne 0x10117bd
mov eax, esi
sub eax, dword [ebp + 0x44]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x40], eax
je 0x1011814
movzx edx, byte [esi]
cmp edx, dword [ebp + 0x4c]
jne 0x101310f
cmp dword [edi + 0x28], 0x2710
jge 0x101311a
lea edx, [eax + 3]
cmp edx, dword [edi + 0x2c]
jle 0x10118b9
cmp eax, 0x20
mov dword [edi + 0x2c], edx
jle 0x10118b9
mov dword [ecx], 0x30
jmp 0x10112c7
and dword [ebp + 0x48], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x101188a
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x44]
call dword [0x1020810]
add esp, 0xc
test eax, eax
jne 0x101185e
mov eax, dword [ebp + 0x40]
cmp byte [esi + eax + 2], 0
jne 0x1011859
test dword [ebp + 0x28], 0x80000
jne 0x1011860
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2b
jmp 0x10112c4
or eax, 0xffffffff
test eax, eax
jl 0x1011870
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [edi + 0x28]
jl 0x1011821
jmp 0x101188a
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 0x2c]
sub ecx, dword [ebp + 0x48]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call dword [0x1020814]
add esp, 0xc
mov eax, dword [edi + 0x30]
push dword [ebp + 0x40]
inc eax
push dword [ebp + 0x44]
sar eax, 8
mov byte [esi], al
mov al, byte [edi + 0x30]
inc al
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call dword [0x102080c]
mov eax, dword [ebp + 0x40]
mov byte [esi + eax + 2], 0
mov esi, dword [ebp + 0x50]
add esp, 0xc
inc esi
inc dword [edi + 0x28]
mov dword [ebp + 0x50], esi
inc dword [edi + 0x30]
mov eax, dword [edi + 0x30]
sar eax, 8
mov byte [ebx + 3], al
mov al, byte [edi + 0x30]
mov byte [ebx + 4], al
mov dword [ebp + 0x24], 2
jmp 0x1011696
mov dword [ebp + 0x3c], 0x5a
inc esi
inc esi
jmp 0x1011768
mov dword [ebp + 0x3c], 0x5b
jmp 0x10118e5
test dword [ebp + 0x28], 0x1000
je 0x10118c0
mov dword [ebp + 0x3c], 0x5e
jmp 0x1011696
mov dword [ebp + 0x48], ecx
mov byte [ebx], 0x1b
jmp 0x1012901
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x2c], 1
jmp 0x10119c9
mov eax, edx
sub eax, 0x5b
je 0x1012907
dec eax
je 0x10121c9
dec eax
je 0x10121b5
dec eax
je 0x101219a
sub eax, 0x1d
je 0x1011999
dec eax
jne 0x10121c2
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x38]
mov dword [eax], edx
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp + 0x14]
mov dword [eax], edx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x7c]
mov dword [eax], ebx
mov eax, dword [ebp + 0x64]
mov dword [eax], esi
cmp edx, ecx
je 0x101313b
mov eax, dword [edx]
mov ecx, ebx
sub ecx, dword [ebp - 0x10]
mov edi, 0x7fffffeb
sub edi, eax
cmp edi, ecx
jge 0x1013134
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x14
jmp 0x10112c7
cmp dword [ebp + 0x34], ecx
je 0x10121c2
push dword [ebp + 0x68]
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esi + 1]
call fcn.010100b7
mov esi, eax
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp dword [eax], 0
mov dword [ebp + 0x50], esi
jne 0x10112c7
cmp dword [ebp + 0x48], 0
je 0x1013143
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x10119e6
mov ecx, dword [ebp + 8]
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x14], ecx
sub eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x50]
neg eax
sbb eax, eax
and dword [ebp + 0x34], 0
and dword [ebp + 0x3c], 0
and eax, 0x200
mov esi, edx
inc ecx
mov dword [ebp - 0x14], eax
mov dword [ebp + 0x18], esi
mov al, byte [ecx]
cmp al, 0x2b
jne 0x1011a1d
xor eax, eax
mov dword [ebp + 0x3c], 1
mov dword [ebp + 0x50], ecx
jmp 0x1011a2c
cmp al, 0x3f
jne 0x1011a29
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x50], ecx
jmp 0x1011a2c
mov eax, dword [ebp - 0x58]
mov cl, byte [edx]
mov dword [ebp + 0x40], eax
cmp cl, 0x1c
je 0x1011ef7
cmp cl, 0x1d
je 0x1011ef7
cmp cl, 0x1e
jne 0x1011a7e
cmp dword [ebp + 0x3c], 0
movzx eax, byte [edx + 1]
mov dword [ebp + 0x34], 0xd
mov dword [ebp + 0x4c], eax
jne 0x1011f45
cmp dword [ebp + 0x2c], 0
jge 0x1011f45
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push dword [ebp + 0x4c]
push 0x1e
jmp 0x1011f2c
cmp cl, 0x17
jae 0x1011ab8
cmp dword [ebp + 0x3c], 0
movzx eax, cl
mov dword [ebp + 0x34], 0x1a
mov dword [ebp + 0x4c], eax
jne 0x1011f45
cmp dword [ebp + 0x2c], 0
jge 0x1011f45
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x4c]
jmp 0x1011f2c
cmp cl, 0x4e
je 0x1011e7d
cmp cl, 0x4f
je 0x1011e7d
cmp cl, 0x51
je 0x1011e7d
cmp cl, 0x5e
je 0x1011afe
cmp cl, 0x5f
je 0x1011afe
cmp cl, 0x5d
je 0x1011afe
cmp cl, 0x60
je 0x1011afe
cmp cl, 0x6d
je 0x1012188
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xb
jmp 0x10112c4
and dword [ebp + 0x24], 0
and dword [ebp + 0x4c], 0
mov eax, ebx
sub eax, edx
mov dword [ebp + 0x44], eax
cmp cl, 0x60
jne 0x1011b1c
cmp byte [edx + 3], 0x66
je 0x1013151
cmp dword [ebp + 0x2c], 0xffffffff
jne 0x1011b3f
mov eax, edx
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x55
jne 0x1011b24
mov ecx, ebx
sub ecx, eax
mov dword [ebp + 0x24], ecx
cmp dword [ebp + 0x1c], 0
jne 0x1011bd5
cmp dword [ebp + 0x2c], 1
push dword [ebp + 4]
mov esi, dword [ebp + 0x48]
mov byte [ebx], 0
push edi
jg 0x1011b90
push 1
push esi
call fcn.0101082d
push dword [ebp + 0x44]
inc esi
push dword [ebp + 0x48]
push esi
call dword [0x1020814]
add esp, 0x1c
inc ebx
cmp dword [ebp + 0x2c], 0
jne 0x1011b84
mov eax, dword [ebp + 0x48]
mov byte [eax], 0x6f
jmp 0x1012188
mov al, byte [ebp + 0x40]
mov ecx, dword [ebp + 0x48]
add al, 0x67
mov byte [ecx], al
jmp 0x1011bc4
push 4
push esi
call fcn.0101082d
push dword [ebp + 0x44]
lea eax, [esi + 4]
push esi
push eax
call dword [0x1020814]
mov al, byte [ebp + 0x40]
add al, 0x67
mov byte [esi], al
add esp, 0x1c
add ebx, 4
inc esi
mov byte [esi], 0x5e
inc esi
mov dword [ebp + 0x4c], esi
mov byte [esi], 0
mov byte [esi + 1], 0
inc esi
inc esi
dec dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x48], esi
mov esi, dword [ebp + 0x18]
jmp 0x1011cac
cmp dword [ebp + 0x1c], 1
jle 0x1011c9f
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x1011c26
mov eax, dword [ebp + 0x1c]
dec eax
mov dword [ebp + 0x10], eax
imul eax, dword [ebp - 4]
fild dword [ebp + 0x10]
fimul dword [ebp - 4]
mov dword [ebp + 0x20], eax
fcomp qword [0x101d520]
fnstsw ax
test ah, 0x41
je 0x101308f
mov eax, dword [ecx]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, dword [ebp + 0x20]
jl 0x101308f
mov edx, dword [ebp + 0x20]
add eax, edx
mov dword [ecx], eax
jmp 0x1011c9f
cmp dword [ebp - 0x54], 0
je 0x1011c38
cmp dword [ebp + 0x14], 0
jge 0x1011c38
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x1c], 1
jle 0x1011c9f
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 4]
dec eax
mov dword [ebp + 0x20], eax
push dword [ebp + 0x44]
mov eax, dword [edi + 0x20]
push dword [ebp + 0x48]
mov dword [ebp + 0x34], eax
push ebx
call dword [0x102080c]
add esp, 0xc
jmp 0x1011c89
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
add eax, dword [ebp + 0x44]
mov ecx, dword [edi + 0x20]
sar eax, 8
mov byte [ecx], al
mov al, byte [esi + 1]
add al, byte [ebp + 0x44]
mov ecx, dword [edi + 0x20]
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
inc esi
inc esi
cmp esi, dword [ebp + 0x34]
jb 0x1011c60
mov esi, dword [ebp + 0x34]
add ebx, dword [ebp + 0x44]
dec dword [ebp + 0x20]
mov dword [ebp + 4], esi
jne 0x1011c48
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x2c]
test ecx, ecx
jle 0x1011cae
sub ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x2c], ecx
test ecx, ecx
jl 0x1011e11
mov edx, dword [ebp + 0x7c]
test edx, edx
je 0x1011d01
test ecx, ecx
jle 0x1011d01
mov eax, dword [ebp - 4]
add eax, 7
mov dword [ebp + 0x10], eax
imul eax, ecx
fild dword [ebp + 0x10]
fimul dword [ebp + 0x2c]
sub eax, 6
mov ecx, eax
fcomp qword [0x101d520]
fnstsw ax
test ah, 0x41
je 0x101308f
mov eax, dword [edx]
mov edi, 0x7fffffeb
sub edi, eax
cmp edi, ecx
jl 0x101308f
add eax, ecx
mov dword [edx], eax
jmp 0x1011dc4
lea eax, [ecx - 1]
mov dword [ebp + 0x30], eax
test eax, eax
jl 0x1011dc4
mov al, byte [ebp + 0x40]
add al, 0x67
mov byte [ebp - 9], al
mov esi, dword [edi + 0x20]
mov al, byte [ebp - 9]
mov byte [ebx], al
inc ebx
cmp dword [ebp + 0x30], 0
mov dword [ebp + 0x20], esi
je 0x1011d49
mov eax, dword [ebp + 0x4c]
mov byte [ebx], 0x5e
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 + 0x4c], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push dword [ebp + 0x44]
push dword [ebp + 0x48]
push ebx
call dword [0x102080c]
mov eax, dword [ebp + 4]
add esp, 0xc
cmp eax, esi
jae 0x1011db2
mov esi, dword [ebp + 0x30]
neg esi
sbb esi, esi
and esi, 3
inc esi
cmp dword [ebp + 0x30], 0
sete cl
dec cl
and cl, 3
inc cl
mov byte [ebp - 0x15], cl
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
add ecx, dword [ebp + 0x44]
mov edx, dword [edi + 0x20]
add ecx, esi
sar ecx, 8
mov byte [edx], cl
mov cl, byte [eax + 1]
add cl, byte [ebp - 0x15]
mov edx, dword [edi + 0x20]
add cl, byte [ebp + 0x44]
mov byte [edx + 1], cl
add dword [edi + 0x20], 2
inc eax
inc eax
cmp eax, dword [ebp + 0x20]
jb 0x1011d7c
mov esi, dword [ebp + 0x20]
add ebx, dword [ebp + 0x44]
dec dword [ebp + 0x30]
mov dword [ebp + 4], esi
jns 0x1011d17
mov esi, dword [ebp + 0x18]
cmp dword [ebp + 0x4c], 0
je 0x101207b
mov esi, dword [ebp + 0x4c]
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
movzx edx, byte [eax + 1]
movzx edi, byte [eax + 2]
shl edx, 8
or edx, edi
sub esi, edx
mov dword [ebp + 0x10], edx
neg edx
sbb edx, edx
and esi, edx
mov byte [ebx], 0x55
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], cl
inc ebx
inc ebx
mov byte [eax + 1], dl
mov byte [eax + 2], cl
test esi, esi
jne 0x1011dd1
jmp 0x1012078
mov esi, ebx
sub esi, dword [ebp + 0x24]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
mov edi, esi
sub edi, eax
mov al, byte [ebp + 0x40]
add al, 0x56
cmp dword [ebp + 0x7c], 0
mov byte [esi], al
jne 0x1012078
cmp byte [edi], 0x5d
je 0x1012078
mov dword [ebp + 0x34], edi
push 0
push esi
push dword [ebp + 0x34]
call fcn.010105d0
add esp, 0xc
test eax, eax
jne 0x1011e75
mov eax, dword [ebp + 0x34]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
mov dword [ebp + 0x34], eax
je 0x1011e44
jmp 0x1012078
add byte [edi], 3
jmp 0x1012078
cmp dword [ebp + 0x2c], 0
jne 0x1011e8a
mov ebx, edx
jmp 0x1012188
mov ecx, dword [ebp + 0x2c]
cmp ecx, 1
je 0x1011e96
or dword [edi + 0x44], 1
cmp dword [ebp + 0x1c], 0
jne 0x1011ea8
cmp ecx, 0xffffffff
jne 0x1011eba
add al, 0x46
jmp 0x1012075
cmp dword [ebp + 0x1c], 1
jne 0x1011ec6
cmp ecx, 0xffffffff
jne 0x1011ec6
add al, 0x48
jmp 0x1012075
cmp ecx, 1
jne 0x1011ec6
add al, 0x4a
jmp 0x1012075
add al, 0x4c
mov byte [ebx], al
mov eax, dword [ebp + 0x1c]
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 0x1011ee6
and dword [ebp + 0x2c], 0
mov ecx, dword [ebp + 0x2c]
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x1012078
cmp dword [ebp + 0x1c], 1
movzx edx, byte [ebx - 1]
mov dword [ebp + 0x4c], edx
jle 0x1011f0f
mov eax, dword [edi + 0x48]
or eax, edx
or eax, dword [ebp - 0x4c]
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x3c], 0
jne 0x1011f45
cmp dword [ebp + 0x2c], 0
jge 0x1011f45
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push dword [ebp + 0x4c]
movzx eax, cl
push eax
mov esi, edi
call fcn.01010911
add esp, 0x14
test eax, eax
je 0x1011f45
and dword [ebp + 0x40], 0
mov dword [ebp + 0x3c], 1
mov eax, dword [ebp + 0x48]
mov cl, byte [eax]
cmp cl, 0x10
je 0x1011f5e
cmp cl, 0xf
je 0x1011f5e
or dword [ebp + 0x44], 0xffffffff
or dword [ebp + 0x24], 0xffffffff
jmp 0x1011f6c
movzx ecx, byte [eax + 1]
mov dword [ebp + 0x24], ecx
movzx ecx, byte [eax + 2]
mov dword [ebp + 0x44], ecx
cmp dword [ebp + 0x2c], 0
mov esi, ebx
mov ebx, eax
je 0x1012188
mov edx, dword [ebp + 0x2c]
cmp edx, 1
je 0x1011f86
or dword [edi + 0x44], 1
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x34]
add eax, ecx
cmp dword [ebp + 0x1c], 0
mov dword [ebp + 0x40], eax
jne 0x1011fbb
mov ebx, dword [ebp + 0x48]
cmp edx, 0xffffffff
je 0x101202a
cmp edx, 1
je 0x101205a
add al, 0x25
mov byte [ebx], al
inc ebx
mov eax, edx
mov byte [ebx + 1], dl
jmp 0x101206b
cmp dword [ebp + 0x1c], 1
jne 0x1011ff7
cmp edx, 0xffffffff
jne 0x1011fd0
mov ebx, dword [ebp + 0x48]
add al, 0x21
jmp 0x101205c
mov ebx, esi
cmp edx, 1
je 0x1012188
mov al, byte [ebp + 0x40]
add al, 0x25
mov byte [esi], al
mov eax, dword [ebp + 0x2c]
lea ecx, [eax - 1]
sar ecx, 8
lea ebx, [esi + 1]
dec al
mov byte [ebx], cl
mov byte [ebx + 1], al
jmp 0x1012070
mov ebx, dword [ebp + 0x48]
add cl, 0x27
mov byte [ebx], cl
mov ecx, dword [ebp + 0x1c]
inc ebx
sar ecx, 8
mov byte [ebx], cl
mov cl, byte [ebp + 0x1c]
mov byte [ebx + 1], cl
inc ebx
inc ebx
test edx, edx
jge 0x101202e
mov cl, byte [ebp + 0x4c]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x24]
inc ebx
test ecx, ecx
jl 0x101202a
mov byte [ebx], cl
mov cl, byte [ebp + 0x44]
inc ebx
mov byte [ebx], cl
inc ebx
add al, 0x1f
jmp 0x101205c
mov ecx, dword [ebp + 0x1c]
cmp dword [ebp + 0x2c], ecx
je 0x1012072
mov cl, byte [ebp + 0x4c]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x24]
inc ebx
test ecx, ecx
jl 0x101204c
mov byte [ebx], cl
mov cl, byte [ebp + 0x44]
inc ebx
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x2c], ecx
cmp ecx, 1
jne 0x1012061
add al, 0x23
mov byte [ebx], al
inc ebx
jmp 0x1012072
add al, 0x25
mov byte [ebx], al
inc ebx
mov eax, ecx
mov byte [ebx + 1], cl
sar eax, 8
mov byte [ebx], al
inc ebx
inc ebx
mov al, byte [ebp + 0x4c]
mov byte [ebx], al
inc ebx
mov esi, dword [ebp + 0x18]
cmp dword [ebp + 0x3c], 0
je 0x1012188
mov cl, byte [esi]
cmp cl, 0x27
je 0x1012096
cmp cl, 0x41
je 0x101209b
cmp cl, 0x34
jne 0x10120be
cmp cl, 0x41
jne 0x10120ab
mov al, byte [esi + 3]
cmp al, 0x10
je 0x10120a6
cmp al, 0xf
jne 0x10120ab
push 2
pop eax
jmp 0x10120ad
xor eax, eax
movzx ecx, cl
movzx ecx, byte [ecx + 0x101d9d8]
add ecx, eax
add esi, ecx
mov dword [ebp + 0x18], esi
mov eax, ebx
sub eax, esi
mov dword [ebp + 0x20], eax
test eax, eax
jle 0x1012188
movzx eax, byte [esi]
cmp eax, 0x30
jg 0x101211d
je 0x1012118
sub eax, 0x1f
je 0x1012113
push 2
pop ecx
sub eax, ecx
je 0x101210e
sub eax, ecx
je 0x1012109
sub eax, ecx
je 0x1012104
sub eax, 7
je 0x10120fc
sub eax, ecx
jne 0x1012133
mov byte [esi], 0x36
jmp 0x1012188
mov byte [esi], 0x35
jmp 0x1012188
mov byte [esi], 0x2b
jmp 0x1012188
mov byte [esi], 0x2a
jmp 0x1012188
mov byte [esi], 0x29
jmp 0x1012188
mov byte [esi], 0x28
jmp 0x1012188
mov byte [esi], 0x37
jmp 0x1012188
sub eax, 0x32
je 0x1012185
sub eax, 7
je 0x1012180
dec eax
dec eax
je 0x101217b
dec eax
dec eax
je 0x1012176
dec eax
dec eax
je 0x1012171
push dword [ebp + 0x20]
push esi
add esi, 3
push esi
call dword [0x1020814]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov byte [eax], 0x5d
add ecx, 3
add ebx, 3
mov byte [ebx], 0x55
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 0x18]
mov byte [edx + 1], al
mov eax, dword [ebp + 0x18]
inc ebx
inc ebx
mov byte [eax + 2], cl
jmp 0x1012188
mov byte [esi], 0x45
jmp 0x1012188
mov byte [esi], 0x44
jmp 0x1012188
mov byte [esi], 0x43
jmp 0x1012188
mov byte [esi], 0x42
jmp 0x1012188
mov byte [esi], 0x38
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0x78]
and dword [ebp + 0x48], 0
or dword [edi + 0x48], eax
jmp 0x1013074
test byte [ebp + 0x28], 2
je 0x10121aa
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x10121aa
or dword [ebp + 0x38], 0xffffffff
mov dword [ebp + 0x48], ecx
mov byte [ebx], 0x1a
jmp 0x1012901
test dword [edi + 0x40], 0x2000000
jne 0x101315f
mov al, dl
jmp 0x1012fc9
push 0
push dword [ebp + 0x28]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
mov dword [ebp - 0x44], esi
push dword [ebp + 0x68]
push eax
call fcn.0100fd2e
mov ecx, dword [ebp + 0x68]
add esp, 0x14
cmp dword [ecx], 0
mov dword [ebp + 0x4c], eax
jne 0x10112c4
test eax, eax
jge 0x1012fc9
mov edx, eax
neg edx
cmp edx, 0x1a
jne 0x1012224
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x1012218
add eax, 2
cmp byte [eax], 0x45
je 0x1010fb2
mov dword [ebp + 0xc], 1
jmp 0x1013074
cmp edx, 0x19
je 0x1013074
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x1012241
cmp edx, 5
jle 0x1012241
cmp edx, 0x17
jge 0x1012241
or dword [ebp + 0x38], 0xffffffff
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x50]
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 8], ecx
cmp edx, 0x1b
jne 0x101264a
mov eax, dword [edi + 0x20]
mov dword [ebp + 4], eax
inc esi
xor eax, eax
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x3c
setne al
and dword [ebp + 0x24], 0
and dword [ebp + 0x20], 0
dec eax
and eax, 0x17
add eax, 0x27
mov dword [ebp + 0x4c], eax
lea eax, [esi + 1]
mov cl, byte [eax]
cmp cl, 0x2b
je 0x10122ed
cmp cl, 0x2d
je 0x10122ed
mov ecx, eax
mov dword [ebp + 0x34], 1
mov dword [ebp + 0x44], ecx
jmp 0x10122bc
movzx ecx, cl
cmp ecx, dword [ebp + 0x4c]
je 0x10122c2
mov edx, dword [edi + 0xc]
mov cl, byte [ecx + edx]
test cl, 4
jne 0x10122b1
and dword [ebp + 0x34], 0
test cl, 0x10
je 0x10122c2
inc dword [ebp + 0x44]
mov ecx, dword [ebp + 0x44]
mov cl, byte [ecx]
test cl, cl
jne 0x101229a
mov ecx, dword [ebp + 0x44]
movzx ecx, byte [ecx]
cmp ecx, dword [ebp + 0x4c]
je 0x10122db
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x39
jmp 0x1013074
cmp dword [ebp + 0x34], 0
jne 0x1012307
mov dword [ebp + 0x24], 1
jmp 0x1012691
add esi, 2
jmp 0x10122f3
inc esi
movzx ecx, byte [esi]
test byte [ecx + 0x101d418], 4
jne 0x10122f2
movzx ecx, byte [esi]
cmp ecx, dword [ebp + 0x4c]
jne 0x10122cd
mov esi, eax
mov dword [ebp + 0x50], esi
mov dl, byte [esi]
movzx ecx, dl
mov dword [ebp + 0x48], ecx
cmp ecx, 0x2b
jne 0x101233b
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x101d418], 4
jne 0x10125cb
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3f
jmp 0x10112c7
cmp ecx, 0x2d
jne 0x10125cb
lea eax, [esi + 1]
movzx ecx, byte [eax]
test byte [ecx + 0x101d418], 4
jne 0x10125c3
xor eax, eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x44], eax
lea ecx, [ebp + 0x44]
cmp dl, 0x29
je 0x10123df
cmp dl, 0x3a
je 0x10123dc
movzx eax, dl
inc esi
cmp eax, 0x69
mov dword [ebp + 0x50], esi
jg 0x10123b5
je 0x10123b0
cmp eax, 0x2d
je 0x10123ab
cmp eax, 0x4a
je 0x101239f
cmp eax, 0x55
je 0x1012397
cmp eax, 0x58
jne 0x101316d
or dword [ecx], 0x40
jmp 0x10123d5
or dword [ecx], 0x200
jmp 0x10123d5
or dword [ecx], 0x80000
or dword [edi + 0x44], 0x10
jmp 0x10123d5
lea ecx, [ebp + 0x34]
jmp 0x10123d5
or dword [ecx], 1
jmp 0x10123d5
cmp eax, 0x6d
je 0x10123d2
cmp eax, 0x73
je 0x10123cd
cmp eax, 0x78
jne 0x101316d
or dword [ecx], 8
jmp 0x10123d5
or dword [ecx], 4
jmp 0x10123d5
or dword [ecx], 2
mov dl, byte [esi]
cmp dl, 0x29
jne 0x1012367
mov eax, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x34]
or eax, dword [ebp + 0x28]
not ecx
and eax, ecx
cmp byte [esi], 0x29
mov dword [ebp + 0x10], eax
jne 0x101168b
mov ecx, dword [edi + 0x14]
add ecx, 3
cmp ebx, ecx
jne 0x1012416
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x101240b
cmp dword [ecx], 6
jne 0x1012416
mov dword [edi + 0x40], eax
mov dword [ebp + 0x28], eax
jmp 0x101136e
mov ecx, eax
xor ecx, dword [ebp + 0x28]
test cl, 7
je 0x101242c
mov byte [ebx], 0x19
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x28], eax
mov dword [ebp - 0x58], ecx
xor ecx, 1
and eax, 1
shl eax, 8
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x4c], eax
jmp 0x101136e
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x7c]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 4]
and ecx, edx
push ecx
push edi
push dword [ebp + 0x74]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x50]
push ecx
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push eax
push dword [ebp + 0x68]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x28]
and eax, 7
push eax
push dword [ebp + 0x10]
call fcn.0101323b
add esp, 0x34
test eax, eax
je 0x10112c4
cmp dword [ebp + 0x3c], 0x60
jne 0x10124d5
xor ecx, ecx
cmp dword [ebp + 0x7c], ecx
jne 0x10124d5
mov eax, ebx
movzx edx, byte [eax + 1]
movzx esi, byte [eax + 2]
shl edx, 8
or edx, esi
add eax, edx
inc ecx
cmp byte [eax], 0x55
jne 0x10124aa
cmp byte [ebx + 3], 0x66
jne 0x101252f
cmp ecx, 1
jg 0x101317c
mov dword [ebp + 0x3c], 0x66
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp + 0x50]
cmp byte [esi], 0x29
jne 0x1013198
mov ecx, dword [ebp + 0x7c]
xor edx, edx
cmp ecx, edx
je 0x1012548
mov eax, dword [ecx]
mov edx, dword [ebp - 4]
mov ecx, 0x7fffffeb
sub ecx, eax
add edx, 0xfffffffa
cmp ecx, edx
jl 0x101198b
mov ecx, dword [ebp - 4]
lea eax, [eax + ecx - 6]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx], eax
mov byte [ebx], 0x5e
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
inc ebx
inc ebx
mov byte [ebx], 0x55
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
inc ebx
inc ebx
jmp 0x1013074
cmp ecx, 2
jg 0x101318a
cmp ecx, 1
jne 0x10124d5
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x50], eax
jmp 0x10124d8
cmp dword [ebp + 0x3c], 0x66
mov ebx, dword [ebp + 0x18]
je 0x1013074
cmp dword [ebp + 0x3c], 0x5d
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x54], edx
jl 0x10125a6
cmp ecx, 0xfffffffe
jne 0x1012589
cmp eax, edx
jl 0x101257f
mov dword [ebp + 0x38], eax
mov dword [ebp - 0x54], 1
jmp 0x1012583
or dword [ebp + 0x38], 0xffffffff
or dword [ebp + 8], 0xffffffff
jmp 0x1012598
cmp eax, edx
jl 0x1012598
cmp dword [ebp - 0x1c], edx
jge 0x10125a1
or eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jl 0x1013074
mov eax, dword [ebp - 0x1c]
jmp 0x10125bb
cmp dword [ebp + 0x3c], 0x58
jne 0x1013074
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jl 0x1013074
mov dword [ebp + 0x14], eax
jmp 0x1013074
mov ecx, dword [ebp + 0x48]
mov esi, eax
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor edx, edx
test byte [eax + 0x101d418], 4
mov dword [ebp + 0x30], edx
je 0x10125f6
imul edx, edx, 0xa
inc esi
lea edx, [edx + eax - 0x30]
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x101d418], 4
jne 0x10125dc
mov dword [ebp + 0x30], edx
movzx eax, byte [esi]
cmp eax, dword [ebp + 0x4c]
jne 0x10131a6
cmp ecx, 0x2d
jne 0x101262e
test edx, edx
je 0x10130d7
mov eax, dword [edi + 0x30]
sub eax, edx
inc eax
mov dword [ebp + 0x30], eax
test eax, eax
jg 0x101276d
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xf
jmp 0x10112c7
cmp ecx, 0x2b
jne 0x101276d
test edx, edx
je 0x10130d7
add edx, dword [edi + 0x30]
mov dword [ebp + 0x30], edx
jmp 0x101276d
cmp edx, 0x1c
jne 0x1012884
lea ecx, [esi + 1]
mov al, byte [ecx]
cmp al, 0x3c
je 0x1012668
cmp al, 0x27
je 0x1012668
cmp al, 0x7b
jne 0x1012881
and dword [ebp + 0x24], 0
mov esi, ecx
mov dword [ebp + 0x50], esi
mov al, byte [esi]
cmp al, 0x3c
jne 0x1012680
mov dword [ebp + 0x4c], 0x3e
jmp 0x1012691
xor ecx, ecx
cmp al, 0x27
setne cl
dec ecx
and ecx, 0xffffffaa
add ecx, 0x7d
mov dword [ebp + 0x4c], ecx
mov ecx, dword [ebp + 0x68]
mov edx, dword [edi + 0xc]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + edx], 0x10
mov dword [ebp + 0x44], esi
je 0x10126b6
mov eax, edx
inc esi
mov dword [ebp + 0x50], esi
movzx edx, byte [esi]
test byte [edx + eax], 0x10
jne 0x10126a9
mov eax, esi
sub eax, dword [ebp + 0x44]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x40], eax
je 0x10126e7
test eax, eax
je 0x10131b4
movzx edx, byte [esi]
cmp edx, dword [ebp + 0x4c]
jne 0x101310f
cmp eax, 0x20
jg 0x1011809
and dword [ebp + 0x30], 0
jmp 0x1012763
and dword [ebp + 0x48], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x1012723
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x44]
call dword [0x1020804]
add esp, 0xc
test eax, eax
jne 0x1012715
mov eax, dword [ebp + 0x40]
cmp byte [esi + eax + 2], 0
je 0x1012723
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [edi + 0x28]
jl 0x10126f4
mov eax, dword [ebp + 0x48]
cmp eax, dword [edi + 0x28]
jge 0x101273c
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or eax, ecx
mov dword [ebp + 0x30], eax
jmp 0x1012763
mov eax, dword [ebp + 0x28]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x40]
mov eax, dword [ebp + 0x50]
push dword [ebp + 0x44]
push edi
call fcn.0101014c
add esp, 0x10
mov dword [ebp + 0x30], eax
test eax, eax
jle 0x10130e5
cmp dword [ebp + 0x24], 0
je 0x1012891
mov eax, dword [edi + 0x14]
xor esi, esi
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x44], eax
cmp dword [ebp + 0x7c], esi
jne 0x10127ec
mov byte [ebx], 0
cmp dword [ebp + 0x30], esi
je 0x1012794
push dword [ebp + 0x30]
mov eax, dword [edi + 0x14]
call fcn.01010559
pop ecx
mov dword [ebp + 0x44], eax
cmp eax, esi
jne 0x1012839
mov eax, dword [ebp + 0x28]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x30]
mov eax, dword [ebp + 0x50]
push esi
push edi
call fcn.0101014c
add esp, 0x10
test eax, eax
jl 0x10130e5
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp + 0x30]
add ecx, eax
mov dword [ebp + 0x44], ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [edi + 0x20]
add ecx, 4
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [edi + 0x20]
mov al, bl
sub al, byte [edi + 0x14]
add al, 4
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x5d
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x52
mov ecx, eax
sub ecx, dword [edi + 0x14]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [edi + 0x14]
mov byte [ebx - 1], al
mov byte [ebx], 0x55
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
cmp dword [ebp + 0x38], 0xfffffffe
mov dword [ebp - 4], 9
jne 0x1013074
or dword [ebp + 0x38], 0xffffffff
jmp 0x1013074
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
jne 0x10127ec
mov esi, dword [ebp + 0x74]
test esi, esi
je 0x10131bf
mov ecx, dword [esi + 4]
cmp ecx, eax
jb 0x10131bf
push 0
push ebx
push ecx
call fcn.010105d0
add esp, 0xc
test eax, eax
je 0x10127e9
mov esi, dword [esi]
test esi, esi
je 0x10131bf
mov eax, dword [ebp + 0x44]
jmp 0x1012853
mov eax, dword [ebp + 0x4c]
cmp edx, 0x1d
jl 0x10128cf
push 0xffffffffffffffe3
pop ecx
sub ecx, eax
mov dword [ebp + 0x30], ecx
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x101289b
or dword [ebp + 0x38], 0xffffffff
mov ecx, dword [ebp + 0x30]
mov byte [ebx], 0x51
mov dword [ebp + 0x48], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
xor eax, eax
inc ebx
inc eax
cmp ecx, 0x20
jge 0x10128bb
shl eax, cl
or dword [edi + 0x3c], eax
cmp ecx, dword [edi + 0x38]
jle 0x1013074
mov dword [edi + 0x38], ecx
jmp 0x1013074
cmp edx, 0x16
je 0x10131cd
cmp edx, 0xf
je 0x10131cd
cmp edx, 0x10
je 0x10131cd
cmp edx, 5
jle 0x10128f9
cmp edx, 0x17
jge 0x10128f9
mov dword [ebp + 0x48], ebx
jmp 0x10128fd
and dword [ebp + 0x48], 0
neg al
mov byte [ebx], al
inc ebx
jmp 0x1013074
mov al, byte [esi + 1]
mov dword [ebp + 0x48], ebx
cmp al, 0x3a
je 0x1012919
cmp al, 0x2e
je 0x1012919
cmp al, 0x3d
jne 0x1012930
lea eax, [ebp - 0x44]
push eax
mov eax, esi
call fcn.010107a2
mov esi, dword [ebp + 0x50]
pop ecx
test eax, eax
jne 0x10131db
and dword [ebp + 0x40], 0
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
mov dword [ebp + 0x4c], eax
cmp eax, 0x5c
jne 0x1012966
inc esi
cmp byte [esi], 0x45
je 0x1012934
push 3
push 0x101d518
push esi
call dword [0x1020804]
add esp, 0xc
test eax, eax
jne 0x10129ad
mov esi, dword [ebp + 0x50]
add esi, 3
jmp 0x1012934
cmp dword [ebp + 0x40], 0
jne 0x101297a
cmp eax, 0x5e
jne 0x101297a
mov dword [ebp + 0x40], 1
jmp 0x1012934
cmp eax, 0x5d
jne 0x10129ad
test dword [edi + 0x40], 0x2000000
je 0x10129ad
cmp dword [ebp + 0x40], 0
sete al
dec al
and al, 0xa0
add al, 0x6d
mov byte [ebx], al
inc ebx
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x10129a2
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 8], eax
jmp 0x1013074
or dword [ebp + 0x30], 0xffffffff
xor esi, esi
push 0x20
lea eax, [ebp - 0x3c]
push esi
push eax
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x44], esi
call dword [0x1020808]
add esp, 0xc
cmp dword [ebp + 0x4c], esi
mov esi, dword [ebp + 0x50]
je 0x101322d
cmp dword [ebp + 0xc], 0
je 0x10129fd
cmp dword [ebp + 0x4c], 0x5c
jne 0x1012d8e
lea eax, [esi + 1]
cmp byte [eax], 0x45
jne 0x1012d8e
and dword [ebp + 0xc], 0
mov dword [ebp + 0x50], eax
jmp 0x1012f70
cmp dword [ebp + 0x4c], 0x5b
jne 0x1012b2d
mov al, byte [esi + 1]
cmp al, 0x3a
je 0x1012a1a
cmp al, 0x2e
je 0x1012a1a
cmp al, 0x3d
jne 0x1012d8e
lea eax, [ebp - 0x44]
push eax
mov eax, esi
call fcn.010107a2
mov esi, dword [ebp + 0x50]
pop ecx
test eax, eax
je 0x1012d8e
and dword [ebp + 0x10], 0
cmp byte [esi + 1], 0x3a
mov eax, dword [edi + 8]
mov dword [ebp + 0x20], eax
jne 0x10131f5
inc esi
inc esi
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x5e
jne 0x1012a5c
xor eax, eax
inc eax
inc esi
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x50], esi
mov eax, dword [ebp - 0x44]
sub eax, esi
push eax
push esi
call fcn.010107e2
pop ecx
pop ecx
test eax, eax
jl 0x1013203
test byte [ebp + 0x28], 1
je 0x1012a7f
cmp eax, 2
jg 0x1012a7f
xor eax, eax
imul eax, eax, 3
mov esi, eax
shl esi, 2
mov eax, dword [esi + 0x101d370]
add eax, dword [ebp + 0x20]
push 0x20
push eax
lea eax, [ebp - 0x7c]
push eax
call dword [0x102080c]
mov eax, dword [esi + 0x101d374]
mov edx, dword [esi + 0x101d378]
add esp, 0xc
test eax, eax
jl 0x1012ad9
mov esi, dword [ebp + 0x20]
xor ecx, ecx
add esi, eax
test edx, edx
jl 0x1012aca
mov al, byte [esi + ecx]
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x1012abb
jmp 0x1012ad9
mov al, byte [esi + ecx]
not al
and byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x1012aca
xor eax, eax
cmp edx, eax
jge 0x1012ae1
neg edx
cmp edx, 1
jne 0x1012aec
and byte [ebp - 0x7b], 0xc3
jmp 0x1012af5
cmp edx, 2
jne 0x1012af5
and byte [ebp - 0x71], 0x7f
cmp dword [ebp + 0x10], eax
je 0x1012b0c
mov cl, byte [ebp + eax - 0x7c]
not cl
or byte [ebp + eax - 0x3c], cl
inc eax
cmp eax, 0x20
jl 0x1012afa
jmp 0x1012b1a
mov cl, byte [ebp + eax - 0x7c]
or byte [ebp + eax - 0x3c], cl
inc eax
cmp eax, 0x20
jl 0x1012b0c
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], 0xa
jmp 0x1012f70
cmp dword [ebp + 0x4c], 0x5c
jne 0x1012d8e
mov esi, dword [ebp + 0x68]
push 1
push dword [ebp + 0x28]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push esi
push eax
call fcn.0100fd2e
add esp, 0x14
cmp dword [esi], 0
mov dword [ebp + 0x4c], eax
jne 0x10112c4
mov ecx, eax
mov edx, ecx
neg edx
cmp edx, 5
jne 0x1012b75
mov dword [ebp + 0x4c], 8
mov esi, dword [ebp + 0x50]
jmp 0x1012d8e
cmp edx, 0x16
jne 0x1012b83
mov dword [ebp + 0x4c], 0x58
jmp 0x1012b6d
cmp edx, 0x11
jne 0x1012b91
mov dword [ebp + 0x4c], 0x52
jmp 0x1012b6d
cmp edx, 0x1a
jne 0x1012bb7
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x1012bab
add eax, 2
cmp byte [eax], 0x45
je 0x10129f5
mov dword [ebp + 0xc], 1
jmp 0x1012f70
cmp edx, 0x19
je 0x1012f70
test ecx, ecx
jge 0x1012b6d
add dword [ebp + 0x44], 2
mov eax, dword [edi + 8]
xor esi, esi
cmp dword [ebp + 0x7c], esi
jne 0x1012c9f
mov ecx, edx
sub ecx, 6
je 0x1012c83
dec ecx
je 0x1012c70
dec ecx
je 0x1012c4a
dec ecx
je 0x1012c2d
dec ecx
je 0x1012c0e
dec ecx
jne 0x1012cd5
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x3c], cl
inc esi
cmp esi, 0x20
jl 0x1012bf8
jmp 0x1012f70
mov dword [ebp + 0x3c], 1
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x3c], cl
inc esi
cmp esi, 0x20
jl 0x1012c15
jmp 0x1012f70
lea ecx, [ebp - 0x3c]
sub eax, ecx
lea ecx, [ebp + esi - 0x3c]
mov dl, byte [ecx + eax]
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x1012c32
and byte [ebp - 0x3b], 0xf7
jmp 0x1012f70
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x3c], 1
sub eax, ecx
lea ecx, [ebp + esi - 0x3c]
mov dl, byte [ecx + eax]
not dl
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x1012c56
or byte [ebp - 0x3b], 8
jmp 0x1012f70
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x3c], cl
inc esi
cmp esi, 0x20
jl 0x1012c70
jmp 0x1012f70
mov dword [ebp + 0x3c], 1
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x3c], cl
inc esi
cmp esi, 0x20
jl 0x1012c8a
jmp 0x1012f70
cmp ecx, 0xfffffff9
je 0x1012f70
cmp ecx, 0xfffffffa
je 0x1012f70
cmp ecx, 0xfffffff5
je 0x1012f70
cmp ecx, 0xfffffff6
je 0x1012f70
cmp ecx, 0xfffffff7
je 0x1012f70
cmp ecx, 0xfffffff8
je 0x1012f70
cmp edx, 0x13
jne 0x1012ceb
or byte [ebp - 0x3b], 2
or byte [ebp - 0x38], 1
or byte [ebp - 0x28], 1
jmp 0x1012f70
cmp edx, 0x12
jne 0x1012d23
xor ecx, ecx
mov esi, 0xfe
mov eax, ecx
dec eax
mov edx, 0xff
je 0x1012d0f
sub eax, 3
je 0x1012d0b
sub eax, 0x10
jne 0x1012d14
mov edx, esi
jmp 0x1012d14
mov edx, 0xfd
or byte [ebp + ecx - 0x3c], dl
inc ecx
cmp ecx, 0x20
jl 0x1012cf7
jmp 0x1012f70
cmp edx, 0x15
jne 0x1012d35
or byte [ebp - 0x3b], 0x3c
or byte [ebp - 0x2c], 0x20
jmp 0x1012f70
cmp edx, 0x14
jne 0x1012d64
xor eax, eax
mov edx, eax
dec edx
mov ecx, 0xff
je 0x1012d50
sub edx, 0xf
jne 0x1012d55
add ecx, 0xffffffe0
jmp 0x1012d55
mov ecx, 0xc3
or byte [ebp + eax - 0x3c], cl
inc eax
cmp eax, 0x20
jl 0x1012d3c
jmp 0x1012f70
test byte [ebp + 0x28], 0x40
mov esi, dword [ebp + 0x50]
jne 0x1013211
movzx eax, byte [esi]
sub dword [ebp + 0x44], 2
mov dword [ebp + 0x4c], eax
jmp 0x1012d8e
lea eax, [esi + 2]
cmp byte [eax], 0x45
jne 0x1012d94
and dword [ebp + 0xc], 0
mov esi, eax
mov dword [ebp + 0x50], esi
cmp byte [esi + 1], 0x5c
je 0x1012d7d
cmp dword [ebp + 0x4c], 0xd
mov ecx, esi
mov dword [ebp - 0x14], ecx
je 0x1012da5
cmp dword [ebp + 0x4c], 0xa
jne 0x1012da9
or dword [edi + 0x44], 0x20
cmp dword [ebp + 0xc], 0
jne 0x1012f21
cmp byte [esi + 1], 0x2d
jne 0x1012f21
push 2
pop eax
add esi, eax
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x5c
jne 0x1012e05
cmp byte [esi + 1], 0x45
jne 0x1012df7
add esi, eax
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x5c
je 0x1012dca
jmp 0x1012df7
cmp byte [esi + 1], 0x51
jne 0x1012e05
add esi, eax
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x5c
jne 0x1012dfe
cmp byte [esi + 1], 0x45
jne 0x1012dfe
add esi, eax
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x5c
je 0x1012ddc
jmp 0x1012e05
mov dword [ebp + 0xc], 1
mov al, byte [esi]
test al, al
je 0x1012f1e
cmp dword [ebp + 0xc], 0
jne 0x1012e1d
cmp al, 0x5d
je 0x1012f1e
cmp dword [ebp + 0xc], 0
movzx esi, al
mov dword [ebp + 0x24], esi
jne 0x1012e7b
cmp esi, 0x5c
jne 0x1012e7b
push 1
push dword [ebp + 0x28]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push dword [ebp + 0x68]
push eax
call fcn.0100fd2e
mov esi, eax
mov eax, dword [ebp + 0x68]
add esp, 0x14
cmp dword [eax], 0
mov dword [ebp + 0x24], esi
jne 0x10112c4
test esi, esi
jge 0x1012e7b
cmp esi, 0xfffffffb
jne 0x1012e63
push 8
jmp 0x1012e77
cmp esi, 0xffffffea
jne 0x1012e6c
push 0x58
jmp 0x1012e77
cmp esi, 0xffffffef
jne 0x1012f16
push 0x52
pop esi
mov dword [ebp + 0x24], esi
cmp esi, dword [ebp + 0x4c]
jl 0x101321f
je 0x1012f21
cmp esi, 0xd
je 0x1012e94
cmp esi, 0xa
jne 0x1012e98
or dword [edi + 0x44], 0x20
mov ecx, dword [ebp + 0x44]
mov eax, esi
sub eax, dword [ebp + 0x4c]
cmp dword [ebp + 0x7c], 0
lea eax, [ecx + eax + 1]
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x30], esi
jne 0x1012f70
cmp dword [ebp + 0x4c], esi
jg 0x1012f70
mov eax, dword [ebp + 0x28]
and eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x4c]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
shl dl, cl
sar eax, 3
lea eax, [ebp + eax - 0x3c]
or byte [eax], dl
cmp dword [ebp - 0x14], 0
je 0x1012f0c
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x4c]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea esi, [ebp + eax - 0x3c]
and ecx, 7
mov al, 1
shl al, cl
or byte [esi], al
mov esi, dword [ebp + 0x24]
inc dword [ebp + 0x4c]
cmp dword [ebp + 0x4c], esi
jle 0x1012ec6
jmp 0x1012f70
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x50], eax
jmp 0x1012f21
mov dword [ebp + 0x50], ecx
mov ecx, dword [ebp + 0x4c]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea esi, [ebp + eax - 0x3c]
and ecx, 7
mov al, 1
shl al, cl
or byte [esi], al
test byte [ebp + 0x28], 1
je 0x1012f67
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x4c]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea esi, [ebp + eax - 0x3c]
mov dword [ebp + 0x4c], ecx
and ecx, 7
mov al, 1
shl al, cl
or byte [esi], al
mov eax, dword [ebp + 0x4c]
inc dword [ebp + 0x44]
mov dword [ebp + 0x30], eax
mov esi, dword [ebp + 0x50]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor ecx, ecx
mov dword [ebp + 0x4c], eax
cmp eax, ecx
je 0x101322d
cmp eax, 0x5d
jne 0x10129d5
cmp dword [ebp + 0xc], ecx
jne 0x10129d5
cmp dword [ebp + 0x44], 1
jne 0x101301c
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
cmp dword [ebp + 0x40], ecx
je 0x1012fc6
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x1012fb4
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 8], eax
mov al, byte [ebp + 0x30]
mov byte [ebx], 0x1e
inc ebx
jmp 0x10128ff
mov al, byte [ebp + 0x30]
mov cl, byte [ebp + 0x28]
and cl, 1
or cl, 0x1c
mov byte [ebx], cl
mov dword [ebp + 0x48], ebx
inc ebx
mov byte [ebx], al
inc ebx
cmp al, 0xd
je 0x1012fe3
cmp al, 0xa
jne 0x1012fe7
or dword [edi + 0x44], 0x20
mov ecx, dword [ebp + 0x38]
cmp ecx, 0xfffffffe
jne 0x1013004
or dword [ebp + 8], 0xffffffff
mov ecx, dword [ebp + 0x14]
movzx eax, al
or eax, dword [ebp - 0x4c]
mov dword [ebp - 8], ecx
mov dword [ebp + 0x38], eax
jmp 0x1013074
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x48]
mov dword [ebp + 8], ecx
or eax, dword [ebp - 0x4c]
jmp 0x10125bb
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x1013026
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x40]
cmp eax, dword [ebp + 0x3c]
setne dl
add dl, 0x4e
mov byte [ebx], dl
inc ebx
cmp eax, ecx
je 0x1013061
cmp dword [ebp + 0x7c], ecx
jne 0x1013071
lea eax, [ebp - 0x3c]
push 0x20
mov esi, ebx
sub eax, ebx
pop ecx
mov dl, byte [eax + esi]
not dl
mov byte [esi], dl
inc esi
dec ecx
jne 0x1013054
jmp 0x1013071
push 0x20
lea eax, [ebp - 0x3c]
push eax
push ebx
call dword [0x102080c]
add esp, 0xc
add ebx, 0x20
inc dword [ebp + 0x50]
mov ecx, dword [ebp + 0x50]
xor esi, esi
jmp 0x1010f04
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x34
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x14
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3b
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3c
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
inc esi
mov dword [eax], 0x1c
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
dec esi
mov dword [eax], 0x1a
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3a
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xf
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x27
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x26
jmp 0x10112c7
mov dword [ecx], 0x2a
jmp 0x10112c7
mov dword [ecx], 0x31
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
inc esi
mov dword [eax], 0x18
jmp 0x10112c7
sub eax, dword [ebp - 0x10]
add eax, ebx
mov dword [edx], eax
xor eax, eax
inc eax
jmp 0x10112ce
mov eax, dword [ebp + 0x68]
mov dword [eax], 9
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x37
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x40
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xc
dec esi
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x36
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1b
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xe
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1d
jmp 0x10112c7
mov dword [ecx], 0x3e
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x28
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2d
jmp 0x10112c7
mov ecx, dword [ebp + 0x68]
xor eax, eax
cmp byte [esi + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov dword [ecx], eax
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1f
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1e
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 7
jmp 0x10112c7
mov eax, dword [ebp + 0x68]
mov dword [eax], 8
jmp 0x10112c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 6
jmp 0x10112c7