Function at 0x100db4b0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x144
mov eax, dword [0x10156440]
xor eax, esp
mov dword [esp + 0x140], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x164]
xor edx, edx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x4c], eax
mov dword [esp + 0xe4], ecx
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [esp + 0xb8], edx
mov dword [esp + 0x54], eax
mov eax, ecx
mov ebx, dword [esp + 0x160]
shr eax, 9
and eax, 1
mov dword [esp + 0x9c], edx
mov esi, dword [esp + 0x15c]
xor ebp, ebp
mov dword [esp + 0xcc], eax
xor eax, 1
mov dword [esp + 0xd0], eax
mov eax, ecx
mov dword [esp + 0xfc], esi
and eax, 1
mov edx, dword [esi]
xor esi, esi
mov edi, dword [esp + 0x180]
mov dword [esp + 0xdc], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x74], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x90], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x60], 0xfffffffe
mov dword [esp + 0x80], 0xfffffffe
mov dword [esp + 0x70], 0xfffffffe
mov dword [esp + 0x50], 0xfffffffe
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], edx
jmp 0x100db640
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
nop dword [eax + eax]
movzx eax, byte [ebx]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100db660
test ecx, ecx
je 0x100db660
mov ebx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x3c]
add ecx, dword [edi + 0x10]
cmp dword [esp + 0x4c], 0
je 0x100db757
lea eax, [ecx - 0x64]
cmp edx, eax
ja 0x100df6f8
cmp edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x4c]
cmovb edx, dword [esp + 0xa4]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub ecx, dword [esp + 0xa4]
sub eax, edx
cmp eax, ecx
jl 0x100df9f7
mov eax, dword [esp + 0x4c]
sub edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x14]
add edx, ecx
mov dword [eax], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100db743
cmp eax, dword [esp + 0xb0]
jbe 0x100db74e
mov edx, ecx
mov esi, eax
mov ecx, dword [esp + 0xb0]
sub edx, eax
cmp ecx, esi
jbe 0x100db703
add ecx, edx
add esi, edx
test edx, edx
je 0x100db71b
nop dword [eax]
mov al, byte [esi - 1]
lea esi, [esi - 1]
mov byte [ecx - 1], al
lea ecx, [ecx - 1]
sub edx, 1
jne 0x100db6f0
jmp 0x100db717
test edx, edx
je 0x100db71b
mov al, byte [esi]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
lea esi, [esi + 1]
sub edx, 1
jne 0x100db707
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov eax, edx
sub eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa4], ecx
jmp 0x100db760
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa4], ecx
jmp 0x100db760
cmp dword [edi + 0x20], ecx
ja 0x100dfa10
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100db846
cmp edx, 0x5c
jne 0x100db790
cmp byte [ebx + 1], 0x45
jne 0x100db790
mov edx, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x30], esi
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test esi, esi
je 0x100db81f
mov esi, dword [esp + 0x94]
test esi, esi
je 0x100db7d6
cmp dword [esp + 0x4c], 0
jne 0x100db7cb
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [edi + 0x18]
mov eax, ebx
mov byte [esi + 5], bl
sar eax, 8
mov byte [esi + 4], al
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
test dword [esp + 0x44], 0x4000
je 0x100df44d
mov eax, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x94], ecx
mov byte [eax], 0x76
mov eax, ebx
mov byte [ecx + 1], 0xff
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [ecx + 2], al
sub bl, byte [edi + 0x18]
mov byte [ecx + 3], bl
mov word [ecx + 4], 0
add ecx, 6
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp 0x100df451
cmp edx, 0x5c
jne 0x100db846
cmp byte [ebx + 1], 0x51
jne 0x100db846
mov edx, dword [esp + 0x14]
mov esi, 1
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x30], esi
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test byte [esp + 0x44], 8
je 0x100db8e3
mov eax, dword [edi + 0xc]
mov esi, ebx
mov ecx, esi
test byte [eax + edx], 1
je 0x100db874
nop
inc ebx
mov dword [esp + 0x10], ebx
mov ecx, ebx
movzx edx, byte [ebx]
mov dword [esp + 0x18], edx
test byte [eax + edx], 1
jne 0x100db860
cmp edx, 0x23
jne 0x100db8d7
lea ebx, [ecx + 1]
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0
je 0x100db8d7
mov edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x1c]
test edx, edx
je 0x100db92e
cmp ebx, ecx
jae 0x100db8bf
push dword [esp + 0x54]
lea eax, [edi + 0x88]
push eax
push ecx
push edx
push ebx
call fcn.100f16f0
mov ebx, dword [esp + 0x24]
add esp, 0x14
test eax, eax
je 0x100db8bf
mov eax, 1
jmp 0x100db8c1
xor eax, eax
test eax, eax
je 0x100db958
add ebx, dword [edi + 0x88]
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x18]
cmp ebx, esi
mov esi, dword [esp + 0x30]
ja 0x100db630
cmp edx, 0x28
jne 0x100db9a6
cmp byte [ebx + 1], 0x3f
jne 0x100dba26
cmp byte [ebx + 2], 0x23
jne 0x100dba26
add ebx, 3
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
test al, al
je 0x100db91f
nop dword [eax]
cmp al, 0x29
je 0x100db98b
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
test al, al
jne 0x100db910
mov eax, dword [esp + 0x24]
mov dword [eax], 0x12
jmp 0x100dfa1a
mov edx, dword [edi + 0x88]
sub ecx, edx
cmp ebx, ecx
ja 0x100db958
mov al, byte [ebx]
cmp al, byte [edi + 0x8c]
jne 0x100db958
cmp edx, 1
je 0x100db8c9
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x8d]
je 0x100db8c9
inc ebx
cmp dword [esp + 0x54], 0
mov dword [esp + 0x10], ebx
je 0x100db97d
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x100db97d
nop dword [eax]
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x100db970
cmp byte [ebx], 0
jne 0x100db885
jmp 0x100db8d3
cmp byte [ebx], 0
je 0x100db91f
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp edx, 0x2a
je 0x100dba91
cmp edx, 0x2b
je 0x100dba91
cmp edx, 0x3f
je 0x100dba91
cmp edx, 0x7b
jne 0x100dba26
mov al, byte [ebx + 1]
lea ecx, [ebx + 1]
sub al, 0x30
cmp al, 9
ja 0x100dba26
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jb 0x100db9ec
nop word [eax + eax]
cmp al, 0x39
ja 0x100db9ec
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x100db9e0
mov al, byte [ecx]
cmp al, 0x7d
je 0x100dba91
cmp al, 0x2c
jne 0x100dba26
mov al, byte [ecx + 1]
cmp al, 0x7d
je 0x100dba91
sub al, 0x30
cmp al, 9
ja 0x100dba26
mov al, byte [ecx + 2]
add ecx, 2
cmp al, 0x30
jb 0x100dba21
cmp al, 0x39
ja 0x100dba21
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x100dba15
cmp byte [ecx], 0x7d
je 0x100dba91
mov eax, dword [esp + 0x2c]
xor edx, edx
cmp dword [esp + 0x94], edx
je 0x100dba9a
mov esi, dword [esp + 0x4c]
test eax, eax
jne 0x100dba9e
mov ecx, dword [esp + 0xb8]
mov eax, ecx
dec ecx
mov dword [esp + 0xb8], ecx
test eax, eax
jg 0x100dba8b
test esi, esi
jne 0x100dba7e
mov edx, dword [esp + 0x94]
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [edi + 0x18]
mov eax, ebx
mov byte [edx + 5], bl
sar eax, 8
mov byte [edx + 4], al
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
xor edx, edx
mov eax, dword [esp + 0x2c]
jmp 0x100dba9e
mov eax, dword [esp + 0x2c]
mov edx, 1
mov esi, dword [esp + 0x4c]
test dword [esp + 0x44], 0x4000
je 0x100dbae6
test edx, edx
jne 0x100dbae6
test eax, eax
jne 0x100dbae6
mov eax, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x94], ecx
mov byte [eax], 0x76
mov eax, ebx
mov byte [ecx + 1], 0xff
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [ecx + 2], al
sub bl, byte [edi + 0x18]
mov byte [ecx + 3], bl
mov word [ecx + 4], dx
add ecx, 6
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp 0x100dbaea
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, 0x7c
ja case.0x100dbafe.1
movzx eax, byte [eax + 0x100dfa74]
jmp dword [eax*4 + 0x100dfa40]
test byte [esp + 0x44], 2
mov dword [esp + 0x3c], 0
je 0x100dbb50
cmp dword [esp + 0x50], 0xfffffffe
jne 0x100dbb2e
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov byte [ecx], 0x1c
inc ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov esi, dword [esp + 0x30]
mov byte [ecx], 0x1b
inc ecx
mov ebx, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test byte [esp + 0x44], 2
mov esi, dword [esp + 0x30]
setne al
mov dword [esp + 0x3c], 0
add al, 0x19
mov byte [ecx], al
inc ecx
mov ebx, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov eax, dword [esp + 0x50]
mov edx, 0xffffffff
mov esi, dword [edi + 0x20]
cmp eax, 0xfffffffe
mov ebp, dword [esp + 0x78]
cmove eax, edx
mov dword [esp + 0x3c], ecx
sub esi, dword [edi + 0x10]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
shr eax, 2
and al, 1
mov dword [esp + 0x90], edx
or al, 0xc
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x30]
mov byte [ecx], al
inc ecx
mov ebx, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ebp
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test dword [edi + 0x60], 0x2000000
jne 0x100df70d
mov edx, dword [esp + 0x18]
jmp 0x100df451
push 6
push 0x101204c0
inc ebx
push ebx
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100dbc59
mov ecx, dword [esp + 0x10]
mov ebx, str._b__w_
mov esi, dword [esp + 0x30]
add ecx, 7
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], ebx
jmp 0x100db634
mov eax, dword [esp + 0x10]
push 6
inc eax
push str._:_:__
push eax
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100dbc8f
mov ecx, dword [esp + 0x10]
mov ebx, str._b___w_
mov esi, dword [esp + 0x30]
add ecx, 7
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], ebx
jmp 0x100db634
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], esi
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x100dbcb4
cmp al, 0x2e
je 0x100dbcb4
cmp al, 0x3d
jne 0x100dbcd1
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.100da770
mov ebx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x100df776
xor edx, edx
mov dword [esp + 0x58], edx
inc ebx
mov dword [esp + 0x10], ebx
movzx ecx, byte [ebx]
mov dword [esp + 0x38], ecx
cmp ecx, 0x5c
jne 0x100dbd15
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x100dbcf4
inc ebx
jmp 0x100dbcd7
push 3
push 0x101204d0
push eax
call fcn.10100080
mov ebx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x100dbd2b
mov edx, dword [esp + 0x58]
add ebx, 3
jmp 0x100dbcd7
test edx, edx
jne 0x100dbdbb
cmp ecx, 0x5e
jne 0x100dbdbb
lea edx, [ecx - 0x5d]
jmp 0x100dbcd3
mov ecx, dword [esp + 0x38]
xor eax, eax
xor edx, edx
mov dword [esp + 0x48], eax
xor ebp, ebp
lea eax, [esi + 4]
mov dword [esp + 0x28], edx
xor edi, edi
mov dword [esp + 0x40], eax
xor esi, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ebp
xorps xmm0, xmm0
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], esi
movups xmmword [esp + 0x108], xmm0
movups xmmword [esp + 0x118], xmm0
test ecx, ecx
je 0x100df767
cmp dword [esp + 0x54], 0
je 0x100dbf15
cmp ecx, 0xc0
jb 0x100dbf15
movzx ecx, byte [ebx]
mov dword [esp + 0x38], ecx
cmp ecx, 0xc0
jb 0x100dbf15
test cl, 0x20
jne 0x100dbe29
movzx eax, byte [ebx + 1]
inc ebx
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x100dbf0d
cmp ecx, 0x5d
jne 0x100dbd2f
test dword [edi + 0x60], 0x2000000
je 0x100dbd2f
mov esi, dword [esp + 0x30]
test edx, edx
mov edx, dword [esp + 0x14]
mov ecx, 0xd
mov eax, 0x9d
cmovne eax, ecx
mov ecx, 0xffffffff
mov byte [edx], al
inc edx
mov eax, dword [esp + 0x50]
cmp eax, 0xfffffffe
mov ebx, dword [esp + 0x10]
cmove eax, ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test cl, 0x10
jne 0x100dbe56
movzx ecx, byte [ebx + 1]
lea edx, [ebx + 2]
mov ebx, dword [esp + 0x38]
and ecx, 0x3f
movzx eax, byte [edx]
and ebx, 0xf
shl ebx, 6
and eax, 0x3f
or ecx, ebx
mov ebx, edx
shl ecx, 6
or ecx, eax
jmp 0x100dbf09
mov eax, dword [esp + 0x38]
test cl, 8
jne 0x100dbe8e
movzx ecx, byte [ebx + 1]
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 3
jmp 0x100dbf09
test cl, 4
movzx ecx, byte [ebx + 1]
jne 0x100dbecb
and eax, 3
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 4
jmp 0x100dbf09
and eax, 1
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 5
mov edx, dword [esp + 0x28]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x34]
mov edi, 1
cmp eax, dword [esp + 0x40]
cmova edx, edi
cmp dword [esp + 0x4c], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], edx
je 0x100dbf50
cmp eax, dword [esp + 0x40]
jbe 0x100dbf50
mov esi, dword [esp + 0x4c]
sub eax, dword [esp + 0x40]
add dword [esi], eax
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x30], 0
je 0x100dbf78
cmp ecx, 0x5c
jne 0x100dc2bd
cmp byte [ebx + 1], 0x45
jne 0x100dc2bd
mov dword [esp + 0x30], 0
inc ebx
jmp 0x100dc8fd
cmp ecx, 0x5b
jne 0x100dc268
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x100dbf94
cmp al, 0x2e
je 0x100dbf94
cmp al, 0x3d
jne 0x100dc2bd
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.100da770
mov ebx, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x100dc262
cmp byte [ebx + 1], 0x3a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
jne 0x100df71c
lea ebp, [ebx + 2]
mov dword [esp + 0x10], ebp
mov al, byte [ebp]
mov byte [esp + 0x8b], al
cmp al, 0x5e
jne 0x100dbfe8
inc ebp
mov dword [esp + 0x48], 1
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x8c]
mov edi, 0x1011f190
sub ebx, ebp
xor esi, esi
nop dword [eax + eax]
movzx eax, byte [esi + 0x1011f1e4]
cmp ebx, eax
jne 0x100dc01a
push ebx
push edi
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
je 0x100dc041
movzx eax, byte [esi + 0x1011f1e4]
inc edi
inc esi
add edi, eax
cmp byte [esi + 0x1011f1e4], 0
jne 0x100dc000
mov eax, dword [esp + 0x24]
mov dword [eax], 0x1e
mov ebx, dword [esp + 0x10]
jmp 0x100dfa1a
test esi, esi
js 0x100dc02e
mov eax, dword [esp + 0x44]
test al, 1
je 0x100dc055
xor ecx, ecx
cmp esi, 2
cmovle esi, ecx
test eax, 0x20000000
je 0x100dc108
mov cl, byte [esp + 0x8b]
xor eax, eax
cmp cl, 0x5e
mov edx, 0xe
cmove eax, edx
add eax, esi
mov ebx, dword [eax*4 + 0x10156388]
test ebx, ebx
je 0x100dc09b
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x60]
inc edx
mov esi, dword [esp + 0x18]
dec ebx
mov dword [esp + 0x2c], edx
jmp 0x100dc8f9
mov eax, esi
sub eax, 8
je 0x100dc173
sub eax, 1
je 0x100dc16c
sub eax, 1
je 0x100dc165
cmp cl, 0x5e
jne 0x100dc108
cmp dword [esp + 0x28], 0
jne 0x100dc0d1
mov eax, dword [esp + 0x8c]
cmp byte [eax + 2], 0x5d
je 0x100dc108
mov eax, dword [esp + 0x34]
mov byte [eax], 2
mov eax, dword [esp + 0x34]
inc eax
push eax
push 0x100
mov dword [esp + 0x3c], eax
call fcn.100f1a20
mov ecx, dword [esp + 0x3c]
add ecx, eax
push ecx
push 0x10ffff
mov dword [esp + 0x44], ecx
call fcn.100f1a20
add esp, 0x10
add dword [esp + 0x34], eax
mov edx, dword [esp + 0x5c]
lea ecx, [esi + esi*2]
mov eax, dword [ecx*4 + 0x1011f1f8]
mov esi, dword [ecx*4 + 0x1011f200]
movups xmm0, xmmword [eax + edx]
movups xmmword [esp + 0x130], xmm0
movups xmm0, xmmword [eax + edx + 0x10]
mov eax, dword [ecx*4 + 0x1011f1fc]
movups xmmword [esp + 0x140], xmm0
test eax, eax
js 0x100dc1d4
add edx, eax
xor ecx, ecx
test esi, esi
js 0x100dc1c0
nop dword [eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x130], al
inc ecx
cmp ecx, 0x20
jb 0x100dc150
jmp 0x100dc1da
mov edx, 0xd
jmp 0x100dc178
mov edx, 0xc
jmp 0x100dc178
mov edx, 0xb
mov eax, dword [esp + 0x34]
cmp cl, 0x5e
mov ebx, dword [esp + 0x8c]
mov esi, 1
mov ebp, dword [esp + 0x60]
sete cl
add cl, 3
mov dword [esp + 0x18], esi
mov byte [eax], cl
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
mov byte [eax], dl
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
mov byte [eax], 0
inc dword [esp + 0x34]
inc ebx
jmp 0x100dc8f9
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0x130], al
inc ecx
cmp ecx, 0x20
jb 0x100dc1c0
jmp 0x100dc1d8
test esi, esi
jns 0x100dc1da
neg esi
cmp esi, 1
jne 0x100dc1e9
and byte [esp + 0x131], 0xc3
jmp 0x100dc1f6
cmp esi, 2
jne 0x100dc1f6
and byte [esp + 0x13b], 0x7f
xor ecx, ecx
cmp byte [esp + 0x8b], 0x5e
jne 0x100dc230
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + ecx + 0x130]
not al
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc210
jmp 0x100dc244
mov al, byte [esp + ecx + 0x130]
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc230
mov ebx, dword [esp + 0x8c]
mov ebp, 1
mov esi, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x20], 2
jmp 0x100dc8f5
mov ecx, dword [esp + 0x38]
jmp 0x100dc2bd
cmp ecx, 0x5c
jne 0x100dc2bd
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0xbc]
push 1
push dword [esp + 0x48]
push dword [ebx + 0x40]
push dword [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.100d9f90
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov edi, eax
cmp dword [ecx], 0
jne 0x100dc038
test edi, edi
jne 0x100dc33b
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
cmp byte [ebx + 1], 0x5c
jne 0x100dc2e0
cmp byte [ebx + 2], 0x45
lea eax, [ebx + 2]
jne 0x100dc2e0
mov ebx, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], ebx
cmp byte [eax + 1], 0x5c
je 0x100dc2c3
mov edx, ebx
cmp ecx, 0xd
je 0x100dc2ec
cmp ecx, 0xa
jne 0x100dc2f7
mov eax, dword [esp + 0x1c]
or dword [eax + 0x64], 0x800
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x100dc8a8
cmp byte [edx + 1], 0x2d
jne 0x100dc8a8
lea ebx, [edx + 2]
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x5c
jne 0x100dc67f
nop dword [eax]
cmp byte [ebx + 1], 0x45
jne 0x100dc64b
add ebx, 2
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x5c
je 0x100dc320
jmp 0x100dc67f
cmp edi, 5
jne 0x100dc348
lea ecx, [edi + 3]
jmp 0x100dc2b1
cmp edi, 0xc
je 0x100df736
cmp edi, 0x1a
jne 0x100dc37b
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 1], 0x5c
jne 0x100dc36e
cmp byte [ebx + 2], 0x45
jne 0x100dc36e
add ebx, 2
jmp 0x100dc8f9
mov dword [esp + 0x30], 1
jmp 0x100dc8f9
cmp edi, 0x19
je 0x100dc642
add dword [esp + 0x20], 2
lea eax, [edi - 6]
mov esi, dword [ebx + 8]
inc ebp
mov dword [esp + 0x60], ebp
cmp eax, 0x1c
ja case.0x100dc3a4.12
movzx eax, byte [eax + 0x100dfb28]
jmp dword [eax*4 + 0x100dfaf4]
mov ebx, dword [edi*4 + 0x101562fc]
mov edx, dword [esp + 0x10]
dec ebx
mov esi, dword [esp + 0x18]
dec ebp
mov dword [esp + 0x2c], edx
jmp 0x100dc8f5
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esi + ecx + 0x40]
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc3d0
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
mov dword [esp + 0x48], 1
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esi + ecx + 0x40]
not al
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc400
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esi + ecx + 0xa0]
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc430
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
mov dword [esp + 0x48], 1
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esi + ecx + 0xa0]
not al
or byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0x20
jb 0x100dc460
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
lea eax, [esp + 0x108]
xor edx, edx
sub esi, eax
nop
lea ecx, [esp + 0x108]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
or byte [ecx], al
cmp edx, 0x20
jb 0x100dc490
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
lea eax, [esp + 0x108]
mov dword [esp + 0x48], 1
xor edx, edx
sub esi, eax
lea ecx, [esp + 0x108]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
not al
or byte [ecx], al
cmp edx, 0x20
jb 0x100dc4c4
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
push 0xffffffffffffffff
push 0x10120fd0
push ebx
push dword [esp + 0x50]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.100d9140
mov ebx, dword [esp + 0x28]
add esp, 0x18
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
push 0x10120fd0
push ebx
push dword [esp + 0x4c]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.100d91b0
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
push 0xffffffffffffffff
push 0x10121020
push ebx
push dword [esp + 0x50]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.100d9140
mov ebx, dword [esp + 0x28]
add esp, 0x18
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
push 0x10121020
push ebx
push dword [esp + 0x4c]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.100d91b0
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov esi, dword [esp + 0x18]
jmp 0x100dc8f9
push ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x64], 0
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100e1290
add esp, 0x14
test eax, eax
je 0x100dc038
xor eax, eax
mov esi, 1
cmp edi, 0x10
sete al
cmp eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x34]
sete cl
add cl, 3
mov byte [eax], cl
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x60]
inc ecx
mov dword [esp + 0x34], ecx
mov byte [ecx], al
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x18]
inc ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], esi
mov byte [ecx], al
inc dword [esp + 0x34]
dec ebp
jmp 0x100dc8f1
test byte [esp + 0x44], 0x40
mov ebx, dword [esp + 0x10]
jne 0x100df72b
mov edi, dword [esp + 0x20]
dec ebp
movzx ecx, byte [ebx]
sub edi, 2
mov dword [esp + 0x20], edi
jmp 0x100dc2b9
mov ebx, dword [esp + 0x10]
jmp 0x100dc8f9
cmp byte [ebx], 0x5c
jne 0x100dc67f
cmp byte [ebx + 1], 0x51
jne 0x100dc67f
add ebx, 2
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x5c
jne 0x100dc676
cmp byte [ebx + 1], 0x45
jne 0x100dc676
add ebx, 2
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x5c
je 0x100dc650
jmp 0x100dc67f
mov esi, 1
mov dword [esp + 0x30], esi
mov al, byte [ebx]
test al, al
je 0x100dc8a2
test esi, esi
jne 0x100dc695
cmp al, 0x5d
je 0x100dc8a2
cmp dword [esp + 0x54], 0
movzx eax, al
mov dword [esp + 0x5c], eax
mov ecx, eax
mov dword [esp + 0x60], eax
je 0x100dc7c8
cmp eax, 0xc0
jb 0x100dc7c8
test al, 0x20
jne 0x100dc6db
movzx esi, byte [ebx + 1]
inc ebx
and eax, 0x1f
mov dword [esp + 0x10], ebx
and esi, 0x3f
shl eax, 6
or esi, eax
mov dword [esp + 0x60], esi
mov ecx, esi
jmp 0x100dc7cc
movzx esi, byte [ebx + 1]
and esi, 0x3f
test al, 0x10
jne 0x100dc70c
and eax, 0xf
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 2
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x10], ebx
jmp 0x100dc7cc
test al, 8
jne 0x100dc742
and eax, 7
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 3
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x10], ebx
jmp 0x100dc7cc
test al, 4
jne 0x100dc781
and eax, 3
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 4]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 4
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x10], ebx
jmp 0x100dc7cc
and eax, 1
shl eax, 6
or esi, eax
movzx eax, byte [ebx + 2]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 3]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 4]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [ebx + 5]
shl esi, 6
and eax, 0x3f
or esi, eax
add ebx, 5
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x10], ebx
jmp 0x100dc7cc
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0x30], 0
jne 0x100dc852
cmp ecx, 0x5c
jne 0x100dc821
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
push 1
push dword [esp + 0x48]
push dword [eax + 0x40]
lea eax, [esp + 0x6c]
push ebx
push eax
lea eax, [esp + 0x24]
push eax
call fcn.100d9f90
add esp, 0x18
cmp dword [ebx], 0
jne 0x100dc038
test eax, eax
je 0x100dc81b
cmp eax, 5
jne 0x100df749
lea esi, [eax + 3]
jmp 0x100dc84e
mov esi, dword [esp + 0x60]
jmp 0x100dc84e
cmp ecx, 0x5b
jne 0x100dc852
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x100dc835
cmp al, 0x2e
je 0x100dc835
cmp al, 0x3d
jne 0x100dc852
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.100da770
add esp, 8
test eax, eax
jne 0x100df745
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
cmp esi, ecx
jb 0x100df758
je 0x100dc8a8
mov dword [esp + 0x20], 2
cmp esi, 0xd
je 0x100dc872
cmp esi, 0xa
jne 0x100dc87f
mov eax, dword [esp + 0x1c]
or dword [eax + 0x64], 0x800
jmp 0x100dc883
mov eax, dword [esp + 0x1c]
push esi
push ecx
push eax
push dword [esp + 0x50]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.100d94d0
mov esi, dword [esp + 0x30]
jmp 0x100dc8ec
mov ebx, edx
mov dword [esp + 0x10], ebx
cmp edi, 2
jge 0x100dc8b2
inc edi
mov dword [esp + 0x20], edi
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x18]
jne 0x100dc8d0
test esi, esi
jne 0x100dc8d0
cmp edi, 1
jne 0x100dc8d0
inc ebx
cmp byte [ebx], 0x5d
je 0x100dca90
push ecx
push ecx
push dword [esp + 0x24]
lea eax, [esp + 0x40]
push dword [esp + 0x50]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.100d94d0
add esp, 0x18
add ebp, eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x60], ebp
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
movzx ecx, byte [ebx]
mov dword [esp + 0x38], ecx
test ecx, ecx
jne 0x100dc933
test eax, eax
je 0x100df767
lea ebx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], ebx
movzx ecx, byte [ebx]
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x100df767
cmp ecx, 0x5d
jne 0x100dbd73
cmp dword [esp + 0x30], 0
jne 0x100dbd73
mov ecx, dword [esp + 0x40]
mov eax, 1
cmp dword [esp + 0x34], ecx
mov ebx, 0xffffffff
cmova edx, eax
mov eax, dword [esp + 0x50]
cmp eax, 0xfffffffe
cmove eax, ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
test edx, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x60], eax
je 0x100dcc9d
mov eax, dword [esp + 0x44]
test esi, esi
jne 0x100dc9b2
test edx, edx
je 0x100dc9b2
test eax, 0x20000000
je 0x100dcc9d
cmp dword [esp + 0x54], 0
mov edi, dword [esp + 0x58]
je 0x100dca03
test edx, edx
je 0x100dca03
test edi, edi
jne 0x100dca03
test eax, 0x20000000
jne 0x100dca03
mov eax, dword [esp + 0x34]
mov byte [eax], 2
mov eax, dword [esp + 0x34]
inc eax
push eax
push 0x100
mov dword [esp + 0x3c], eax
call fcn.100f1a20
mov ecx, dword [esp + 0x3c]
add ecx, eax
push ecx
push 0x10ffff
mov dword [esp + 0x44], ecx
call fcn.100f1a20
add esp, 0x10
add dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov byte [eax], 0
inc dword [esp + 0x34]
test edi, edi
mov byte [ecx], 0x70
setne al
mov byte [ecx + 3], al
test esi, esi
je 0x100dca26
or al, 4
mov byte [ecx + 3], al
test ebp, ebp
jle 0x100dcc62
or byte [ecx + 3], 2
lea esi, [ecx + 4]
mov eax, dword [esp + 0x34]
sub eax, esi
push eax
lea eax, [esi + 0x20]
push esi
push eax
call fcn.100e2570
add esp, 0xc
test edi, edi
je 0x100dca6d
cmp dword [esp + 0x18], 0
jne 0x100dca6d
xor ecx, ecx
nop word [eax + eax]
not byte [esp + ecx + 0x108]
inc ecx
cmp ecx, 0x20
jb 0x100dca60
movups xmm0, xmmword [esp + 0x108]
movups xmmword [esi], xmm0
movups xmm0, xmmword [esp + 0x118]
movups xmmword [esi + 0x10], xmm0
mov edx, dword [esp + 0x34]
add edx, 0x20
jmp 0x100dcc66
cmp dword [esp + 0x58], 0
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x60], eax
je 0x100dcbc2
mov eax, dword [esp + 0x50]
mov edx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
test edx, edx
je 0x100dcb54
test byte [esp + 0x44], 1
je 0x100dcb54
mov eax, ecx
test eax, eax
jns 0x100dcaf3
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x10122d28]
mov ebx, dword [esp + 0x38]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x100dcb12
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x10124f28]
mov cl, byte [eax*8 + 0x101216ab]
test cl, cl
je 0x100dcb58
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov word [eax], 0x90f
lea edx, [eax + 3]
mov byte [eax + 2], cl
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov ebx, dword [esp + 0x38]
test byte [esp + 0x44], 1
mov ecx, dword [esp + 0x14]
setne al
add al, 0x1f
mov byte [ecx], al
lea esi, [ecx + 1]
test edx, edx
je 0x100dcb9f
cmp ebx, 0x7f
jbe 0x100dcb9f
push esi
push ebx
call fcn.100f1a20
mov edi, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
lea edx, [esi + eax]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov edi, dword [esp + 0x1c]
lea edx, [esi + 1]
mov ecx, dword [esp + 0x2c]
mov byte [esi], bl
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp dword [esp + 0x54], 0
je 0x100dcbf9
cmp ecx, 0x7f
jbe 0x100dcbf9
lea eax, [esp + 0x100]
push eax
push ecx
call fcn.100f1a20
mov edi, dword [esp + 0x24]
mov esi, eax
mov ebx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x3c], ebx
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
mov dword [esp + 0x6c], eax
jmp 0x100dcc2a
mov edi, dword [esp + 0x1c]
mov esi, 1
mov byte [esp + 0x100], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
cmp dword [esp + 0x54], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], eax
je 0x100df5d8
mov ebx, dword [esp + 0x14]
test byte [esp + 0x44], 1
je 0x100df5dd
movzx edx, byte [esp + 0x100]
cmp edx, 0xc0
jb 0x100df55c
test dl, 0x20
jne 0x100df4ac
movzx eax, byte [esp + 0x101]
and edx, 0x1f
jmp 0x100df554
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, edx
mov edi, dword [esp + 0x1c]
sub eax, ecx
sar eax, 8
mov dword [esp + 0x14], edx
mov byte [ecx + 1], al
mov al, dl
sub al, cl
mov byte [ecx + 2], al
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x100dcce4
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
sub eax, ecx
add dword [ebx], eax
cmp dword [esp + 0x58], edx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
setne al
mov esi, dword [esp + 0x30]
add al, 0x6e
mov byte [ecx], al
inc ecx
mov ebx, dword [esp + 0x10]
add ecx, 0x20
mov dword [esp + 0x14], ecx
mov edx, ecx
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov edi, dword [esp + 0x58]
cmp edi, edx
mov ecx, dword [esp + 0x14]
setne al
add al, 0x6e
mov byte [ecx], al
inc ecx
mov dword [esp + 0x14], ecx
test edi, edi
je 0x100dcd11
xor ecx, ecx
not byte [esp + ecx + 0x108]
inc ecx
cmp ecx, 0x20
jb 0x100dcd00
mov ecx, dword [esp + 0x14]
movups xmm0, xmmword [esp + 0x108]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [esp + 0x118]
movups xmmword [ecx + 0x10], xmm0
mov ebx, dword [esp + 0x10]
add ecx, 0x20
mov dword [esp + 0x14], ecx
mov edx, ecx
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test edx, edx
je case.0x100dbafe.1
mov al, byte [ebx + 1]
inc ebx
xor esi, esi
or edx, 0xffffffff
cmp al, 0x30
jb 0x100dcd83
cmp al, 0x39
ja 0x100dcd83
movzx eax, byte [ebx]
lea esi, [esi + esi*4]
lea esi, [esi - 0x18]
inc ebx
lea esi, [eax + esi*2]
cmp esi, 0xffff
jg 0x100dcdad
mov al, byte [ebx]
cmp al, 0x30
jae 0x100dcd64
cmp byte [ebx], 0x7d
jne 0x100dcdb9
mov edx, esi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], esi
mov dword [esp + 0x64], edx
cmp dword [eax], 0
mov dword [esp + 0x10], ebx
jne 0x100dfa1a
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
jmp 0x100dce16
mov eax, dword [esp + 0x24]
mov dword [eax], 5
jmp 0x100dcd96
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x7d
je 0x100dcd8a
xor edx, edx
cmp al, 0x30
jb 0x100dcde6
cmp al, 0x39
ja 0x100dcde6
movzx eax, byte [ebx]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
inc ebx
lea edx, [eax + edx*2]
cmp edx, 0xffff
jg 0x100dcdad
mov al, byte [ebx]
cmp al, 0x30
jae 0x100dcdc7
cmp edx, esi
jge 0x100dcd8a
mov eax, dword [esp + 0x24]
mov dword [eax], 4
jmp 0x100dcd96
xor edx, edx
or ecx, 0xffffffff
jmp 0x100dce0e
mov edx, 1
or ecx, 0xffffffff
jmp 0x100dce0e
xor edx, edx
mov ecx, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x64], ecx
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x100df792
test edx, edx
jne 0x100dce4b
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x70], eax
xor ebp, ebp
mov dword [esp + 0x68], esi
cmp edx, ecx
mov dword [esp + 0x48], ebp
mov eax, 2
cmove eax, ebp
test byte [esp + 0x44], 8
mov dword [esp + 0xac], eax
je 0x100dcf32
inc ebx
mov cl, byte [ebx]
mov edx, dword [edi + 0xc]
movzx eax, cl
test byte [eax + edx], 1
je 0x100dce8d
mov cl, byte [ebx + 1]
inc ebx
movzx eax, cl
test byte [eax + edx], 1
jne 0x100dce80
cmp cl, 0x23
jne 0x100dcf2d
inc ebx
cmp byte [ebx], 0
je 0x100dce72
nop dword [eax]
mov edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x1c]
test edx, edx
je 0x100dcee0
cmp ebx, ecx
jae 0x100dced2
push dword [esp + 0x54]
lea eax, [edi + 0x88]
push eax
push ecx
push edx
push ebx
call fcn.100f16f0
add esp, 0x14
test eax, eax
je 0x100dced2
mov eax, 1
jmp 0x100dced4
xor eax, eax
test eax, eax
je 0x100dcf06
add ebx, dword [edi + 0x88]
jmp 0x100dce72
mov edx, dword [edi + 0x88]
sub ecx, edx
cmp ebx, ecx
ja 0x100dcf06
mov al, byte [ebx]
cmp al, byte [edi + 0x8c]
jne 0x100dcf06
cmp edx, 1
je 0x100dced8
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x8d]
je 0x100dced8
inc ebx
cmp dword [esp + 0x54], ebp
je 0x100dcf1f
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x100dcf1f
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
je 0x100dcf15
cmp byte [ebx], 0
jne 0x100dcea0
jmp 0x100dce72
dec ebx
mov dword [esp + 0x10], ebx
cmp byte [ebx + 1], 0x28
jne 0x100dcf7c
cmp byte [ebx + 2], 0x3f
jne 0x100dcf7c
cmp byte [ebx + 3], 0x23
jne 0x100dcf7c
add ebx, 4
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
test al, al
je 0x100db91f
cmp al, 0x29
je 0x100dcf73
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
test al, al
jne 0x100dcf55
mov eax, dword [esp + 0x24]
mov dword [eax], 0x12
jmp 0x100dfa1a
cmp byte [ebx], 0
je 0x100db91f
mov cl, byte [ebx + 1]
cmp cl, 0x2b
jne 0x100dcf97
inc ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x48], 1
mov dword [esp + 0x10], ebx
jmp 0x100dcfb9
cmp cl, 0x3f
jne 0x100dcfae
mov ecx, dword [esp + 0xd0]
inc ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], ebx
jmp 0x100dcfb9
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x20], eax
mov al, byte [esi]
cmp al, 0x75
jne 0x100dd04d
lea ecx, [esi + 3]
cmp ecx, esi
jbe 0x100dcfdc
mov al, byte [esi + 2]
mov byte [ecx + 2], al
mov al, byte [esi + 1]
mov byte [ecx + 1], al
mov al, byte [esi]
mov byte [ecx], al
jmp 0x100dcfea
mov byte [ecx], al
mov al, byte [esi + 1]
mov byte [ecx + 1], al
mov al, byte [esi + 2]
mov byte [ecx + 2], al
add dword [esp + 0x14], 6
mov word [esi], 0x81
mov byte [esi + 2], 6
mov word [esi + 6], 0x78
mov byte [esi + 8], 6
mov dword [esp + 0x9c], 9
cmp dword [esp + 0x4c], ebp
jne 0x100dd049
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
add eax, 2
cmp edx, eax
jb 0x100dd049
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
mov eax, esi
sub eax, dword [edi + 0x14]
inc eax
cmp ecx, eax
jne 0x100dd049
lea eax, [ecx + 3]
shr eax, 8
add cl, 3
mov byte [edx - 2], al
mov eax, dword [edi + 0x20]
mov byte [eax - 1], cl
mov ebx, dword [esp + 0x10]
mov dl, byte [esi]
cmp dl, 0x1d
je 0x100dd7f1
cmp dl, 0x1e
je 0x100dd7f1
cmp dl, 0x1f
je 0x100dd7f1
cmp dl, 0x20
je 0x100dd7f1
cmp dl, 0x17
jae 0x100dd091
mov ebp, dword [esp + 0x14]
mov eax, 0x34
movzx ecx, dl
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], ecx
jmp 0x100dd891
cmp dl, 0x6e
je 0x100dd735
cmp dl, 0x6f
je 0x100dd735
cmp dl, 0x70
je 0x100dd735
cmp dl, 0x71
je 0x100dd735
cmp dl, 0x72
je 0x100dd735
cmp dl, 0x73
mov edx, dword [esp + 0x3c]
je 0x100dd739
mov al, byte [edx]
cmp al, 0x74
je 0x100dd739
cmp al, 0x7d
jb 0x100dd722
cmp al, 0x87
ja 0x100dd722
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov ebp, dword [esp + 0x6c]
mov edi, esi
sub edi, edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], ecx
cmp al, 0x87
jne 0x100dd10d
cmp byte [edx + 3], 0x91
je 0x100dd6f2
mov ecx, dword [esp + 0x74]
cmp al, 0x81
jae 0x100dd135
test ecx, ecx
jg 0x100dd6f2
mov eax, dword [esp + 0x64]
test eax, eax
js 0x100dd12a
cmp eax, 1
jle 0x100dd139
mov eax, 1
mov dword [esp + 0x64], eax
jmp 0x100dd139
mov eax, dword [esp + 0x64]
test ecx, ecx
jne 0x100dd1fb
mov byte [esi], cl
push dword [esp + 0x6c]
push dword [esp + 0x20]
push dword [esp + 0x5c]
cmp eax, 1
jg 0x100dd1ac
push 1
push edx
call fcn.100d9790
mov ebx, dword [esp + 0x50]
push edi
push ebx
lea esi, [ebx + 1]
push esi
call fcn.100e2570
mov edx, dword [esp + 0x34]
add esp, 0x20
inc edx
cmp dword [esp + 0x64], 0
mov dword [esp + 0x14], edx
jne 0x100dd18e
mov edi, dword [esp + 0x1c]
mov byte [ebx], 0xa1
mov ebx, dword [esp + 0x10]
jmp 0x100dd6fa
mov al, byte [esp + 0x20]
mov edx, dword [esp + 0x64]
sub al, 0x6e
mov dword [esp + 0x5c], ebx
dec edx
mov byte [ebx], al
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x3c], esi
jmp 0x100dd364
push 4
push edx
call fcn.100d9790
mov ebx, dword [esp + 0x50]
push edi
push ebx
lea eax, [ebx + 4]
push eax
call fcn.100e2570
mov al, byte [esp + 0x40]
lea ecx, [ebx + 2]
mov edx, dword [esp + 0x84]
sub al, 0x6e
add dword [esp + 0x34], 4
add esp, 0x20
mov byte [ebx], al
dec edx
mov byte [ebx + 1], 0x83
lea eax, [ecx + 2]
mov word [ecx], 0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x3c], eax
jmp 0x100dd364
cmp ecx, 1
jle 0x100dd35a
cmp dword [esp + 0x4c], 0
je 0x100dd253
lea eax, [ecx - 1]
mov esi, eax
imul dword [esp + 0x9c]
imul esi, dword [esp + 0x9c]
test edx, edx
jg 0x100df9f7
jl 0x100dd234
cmp eax, 0x7fffffff
ja 0x100df9f7
mov edx, dword [esp + 0x4c]
mov eax, 0x7fffffeb
mov ecx, dword [edx]
sub eax, ecx
cmp eax, esi
jl 0x100df9f7
lea eax, [esi + ecx]
mov dword [edx], eax
jmp 0x100dd356
cmp dword [esp + 0xb4], 0
je 0x100dd277
cmp dword [esp + 0x70], 0
jge 0x100dd277
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], 1
mov ebx, dword [ecx + 0x20]
sub ebx, dword [ecx + 0x10]
push edi
push edx
push esi
call fcn.100f5f90
mov eax, dword [esp + 0x28]
add esp, 0xc
mov esi, dword [eax + 0x10]
mov ecx, esi
mov edi, dword [eax + 0x20]
sub ecx, ebx
mov eax, dword [eax + 0x3c]
add ecx, ebp
add eax, 0xffffff9c
add eax, ecx
mov ecx, dword [esp + 0x1c]
cmp edi, eax
jbe 0x100dd2e5
push ecx
call fcn.100e0640
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100dc038
mov ecx, dword [esp + 0x1c]
mov eax, ebp
sub eax, ebx
add eax, 0xffffff9c
add eax, dword [ecx + 0x3c]
mov esi, dword [ecx + 0x10]
add eax, esi
mov edi, dword [ecx + 0x20]
cmp edi, eax
ja 0x100dd2b4
lea edx, [esi + ebp]
lea eax, [esi + ebx]
cmp edx, eax
jae 0x100dd32d
nop
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x40]
add ecx, eax
sar ecx, 8
mov byte [edi], cl
mov cl, byte [edx + 1]
add edx, 2
add cl, al
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0x20], 2
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0x20]
add eax, ebx
cmp edx, eax
jb 0x100dd2f0
mov eax, dword [esp + 0x18]
mov ebp, ebx
mov edi, dword [esp + 0x40]
inc eax
add dword [esp + 0x14], edi
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x74]
jl 0x100dd283
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
test edx, edx
jle 0x100dd36a
sub edx, ecx
mov dword [esp + 0x64], edx
test edx, edx
js 0x100dd589
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x100dd3c0
test edx, edx
jle 0x100dd3c0
mov eax, dword [esp + 0x9c]
add eax, 7
mov ecx, eax
imul ecx, edx
imul edx
sub ecx, 6
test edx, edx
jg 0x100df9f7
jl 0x100dd3a5
cmp eax, 0x7fffffff
ja 0x100df9f7
mov edx, dword [esi]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x100df9f7
lea eax, [ecx + edx]
mov dword [esi], eax
jmp 0x100dd504
lea eax, [edx - 1]
mov dword [esp + 0x18], eax
test eax, eax
js 0x100dd504
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
sub cl, 0x6e
mov dword [esp + 0x20], ecx
nop
mov esi, dword [esp + 0x1c]
mov ebx, dword [esi + 0x20]
sub ebx, dword [esi + 0x10]
mov byte [edx], cl
inc edx
mov dword [esp + 0x14], edx
test eax, eax
je 0x100dd41e
lea ecx, [edx + 1]
mov byte [edx], 0x83
mov edx, dword [esp + 0x58]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x58], ecx
neg edx
sbb edx, edx
and edx, eax
mov eax, edx
mov byte [ecx + 1], dl
sar eax, 8
lea edx, [ecx + 2]
mov byte [ecx], al
mov dword [esp + 0x14], edx
push edi
push dword [esp + 0x40]
push edx
call fcn.100f5f90
mov edx, dword [esi + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x3c]
mov ecx, edx
mov edi, dword [esi + 0x20]
sub ecx, ebx
add ecx, ebp
add eax, 0xffffff9c
add eax, ecx
cmp edi, eax
jbe 0x100dd471
push esi
call fcn.100e0640
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100dc038
mov edx, dword [esi + 0x10]
mov eax, ebp
mov edi, dword [esi + 0x20]
sub eax, ebx
add eax, 0xffffff9c
add eax, dword [esi + 0x3c]
add eax, edx
cmp edi, eax
ja 0x100dd444
lea esi, [edx + ebp]
lea eax, [edx + ebx]
cmp esi, eax
jae 0x100dd4db
mov ecx, dword [esp + 0x18]
mov eax, 1
test ecx, ecx
mov ebp, 4
mov edx, eax
cmovne eax, ebp
cmovne edx, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
nop
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x40]
add ecx, eax
add ecx, edx
sar ecx, 8
mov byte [edi], cl
mov cl, byte [esi + 1]
add esi, 2
add cl, al
mov eax, dword [ebp + 0x20]
add cl, byte [esp + 0x5c]
mov byte [eax + 1], cl
add dword [ebp + 0x20], 2
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x20]
add eax, ebx
cmp esi, eax
jb 0x100dd4a0
mov edx, dword [esp + 0x14]
mov ebp, ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
add edx, edi
mov ecx, dword [esp + 0x20]
sub eax, 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
jns 0x100dd3e0
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
test esi, esi
je 0x100dd555
mov ecx, dword [esp + 0x14]
mov ebx, ecx
mov edx, ecx
sub ebx, esi
inc ebx
sub edx, ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub esi, ecx
neg ecx
sbb ecx, ecx
sar eax, 8
and esi, ecx
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x78
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
add ecx, 3
mov dword [esp + 0x14], ecx
mov byte [edx + 1], al
mov byte [edx + 2], bl
test esi, esi
jne 0x100dd510
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x48], 0
je 0x100dd6fa
mov eax, dword [esp + 0x68]
movzx edx, byte [eax]
lea eax, [edx - 0x1d]
cmp eax, 0x53
ja case.0x100dd582.33
movzx eax, byte [eax + 0x100dfb5c]
jmp dword [eax*4 + 0x100dfb48]
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx - 2]
lea edi, [edx - 3]
movzx eax, byte [edi + 2]
mov ebp, edi
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov al, byte [ebp]
cmp al, 0x81
je 0x100dd5ac
cmp al, 0x82
jne 0x100dd5cc
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x100dd5ba
mov byte [ebp], 0x83
jmp 0x100dd5d4
cmp al, 0x81
jne 0x100dd5d0
mov eax, dword [esp + 0x20]
add al, 0x79
mov byte [edi], al
mov ebx, dword [esp + 0x10]
jmp 0x100dd559
mov ebx, dword [esp + 0x48]
cmp al, 0x82
je 0x100dd5be
cmp dword [esp + 0x4c], 0
jne 0x100dd612
mov esi, ebp
nop dword [eax]
push 0
push dword [esp + 0x20]
push dword [esp + 0x5c]
push edi
push esi
call fcn.100e01b0
add esp, 0x14
test eax, eax
jne 0x100dd60e
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x100dd5e0
jmp 0x100dd612
add byte [ebp], 5
mov dl, byte [ebp]
cmp dl, 0x87
jne 0x100dd633
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebp], 0x77
je 0x100dd633
mov byte [ebp], 0x8c
mov dl, 0x8c
test ebx, ebx
je 0x100dd6e6
cmp dl, 0x87
je 0x100dd65a
cmp dl, 0x8c
je 0x100dd65a
inc dl
mov byte [ebp], dl
mov edx, dword [esp + 0x14]
mov byte [edi], 0x7b
mov edi, dword [esp + 0x1c]
jmp 0x100dd6bf
push dword [esp + 0x6c]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ebx, eax
push edi
push dword [esp + 0x5c]
sub ebx, ebp
push 3
push ebp
mov byte [eax], 0
call fcn.100d9790
push ebx
lea eax, [ebp + 3]
push ebp
push eax
call fcn.100e2570
mov ecx, dword [esp + 0x34]
add ebx, 3
add esp, 0x20
mov edx, 0x84
cmp byte [ebp], 0x87
mov eax, 0x89
cmove eax, edx
lea edx, [ecx + 6]
mov byte [ebp], al
mov eax, ebx
sar eax, 8
mov byte [ecx + 3], 0x7b
mov byte [ecx + 4], al
mov byte [ecx + 5], bl
mov dword [esp + 0x14], edx
mov byte [ebp + 1], al
mov byte [ebp + 2], bl
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100dd6ca
mov byte [eax], 0x94
cmp dword [esp + 0x74], 2
mov ebx, dword [esp + 0x10]
jge 0x100dd568
mov dword [esp + 0x48], 0
jmp 0x100dd55d
mov eax, dword [esp + 0x20]
add al, 0x79
mov byte [edi], al
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xac]
or dword [edi + 0x68], eax
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp al, 0x9d
je 0x100dd6f6
mov eax, dword [esp + 0x24]
mov dword [eax], 0xb
jmp 0x100dfa1a
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x64], ebp
jne 0x100dd745
mov dword [esp + 0x14], edx
jmp 0x100dd6fa
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
test ebx, ebx
jne 0x100dd78f
cmp edx, 0xffffffff
jne 0x100dd770
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add al, 0x62
mov byte [edx], al
inc edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x100dd55d
cmp edx, 1
jne 0x100dd7b3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add al, 0x66
mov byte [edx], al
inc edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x100dd55d
cmp ebx, 1
jne 0x100dd7b3
cmp edx, 0xffffffff
jne 0x100dd7b3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add al, 0x64
mov byte [edx], al
inc edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x100dd55d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add al, 0x68
mov byte [ecx], al
mov eax, ebx
sar eax, 8
mov byte [ecx + 1], al
xor eax, eax
cmp edx, 0xffffffff
mov byte [ecx + 2], bl
cmove edx, eax
mov eax, edx
mov byte [ecx + 4], dl
mov dword [esp + 0x64], edx
lea edx, [ecx + 5]
sar eax, 8
mov byte [ecx + 3], al
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x100dd55d
movzx eax, dl
add eax, 0xffffffe3
cmp eax, 3
ja case.0x100dd7fc.29
jmp dword [eax*4 + 0x100dfbb0]
mov dword [esp + 0x40], 0xd
jmp 0x100dd821
mov eax, 0x1a
jmp 0x100dd81d
mov eax, 0x27
jmp 0x100dd81d
xor eax, eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x14]
je 0x100dd86b
mov al, byte [ebp - 1]
lea ecx, [ebp - 1]
and al, 0xc0
cmp al, 0x80
jne 0x100dd86b
mov al, byte [ecx - 1]
dec ecx
and al, 0xc0
cmp al, 0x80
je 0x100dd837
mov eax, ebp
sub eax, ecx
push eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x12c]
push ecx
push eax
call fcn.100f5f90
mov ecx, dword [esp + 0x64]
add esp, 0xc
or ecx, 0x10000000
mov dword [esp + 0x58], ecx
jmp 0x100dd891
movzx ecx, byte [ebp - 1]
mov dword [esp + 0x58], ecx
cmp dl, 0x1e
ja 0x100dd891
cmp dword [esp + 0x74], 1
jle 0x100dd891
mov eax, dword [edi + 0x68]
or eax, dword [esp + 0x98]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov al, byte [esi]
cmp al, 0x10
je 0x100dd8ad
cmp al, 0xf
je 0x100dd8ad
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
jmp 0x100dd8bd
movzx eax, byte [esi + 1]
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 2]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x64], 0
mov edx, ebp
mov dword [esp + 0x14], esi
je 0x100dd6f6
mov eax, dword [esp + 0x40]
add dword [esp + 0x20], eax
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0x100dd969
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x20]
cmp edx, 0xffffffff
jne 0x100dd93b
add al, 0x21
mov byte [esi], al
lea edx, [esi + 1]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x54], 0
je 0x100ddad3
test ecx, 0x10000000
je 0x100ddad3
and ecx, 7
lea eax, [esp + 0x128]
push ecx
push eax
push edx
mov dword [esp + 0x64], ecx
call fcn.100f5f90
mov ecx, dword [esp + 0x20]
add esp, 0xc
add ecx, dword [esp + 0x58]
jmp 0x100ddada
mov ebx, dword [esp + 0x18]
cmp edx, 1
jne 0x100dd951
add al, 0x25
lea edx, [esi + 1]
mov byte [esi], al
mov dword [esp + 0x14], edx
jmp 0x100dd8fe
add al, 0x27
mov byte [esi], al
mov eax, edx
mov byte [esi + 2], dl
lea edx, [esi + 3]
sar eax, 8
mov byte [esi + 1], al
mov dword [esp + 0x14], edx
jmp 0x100dd8fe
cmp ebp, 1
jne 0x100dd9b1
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
jne 0x100dd982
mov eax, dword [esp + 0x20]
add al, 0x23
jmp 0x100dd8f1
mov dword [esp + 0x14], edx
cmp eax, 1
je 0x100dd6f6
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x64]
add al, 0x27
mov byte [edx], al
lea eax, [ebx - 1]
dec bl
sar eax, 8
mov byte [edx + 1], al
mov byte [edx + 2], bl
add edx, 3
jmp 0x100dd8f6
mov ebx, dword [esp + 0x74]
lea edx, [esi + 3]
add al, 0x29
mov dword [esp + 0x14], edx
mov byte [esi], al
mov eax, ebx
sar eax, 8
mov byte [esi + 1], al
mov eax, dword [esp + 0x64]
mov byte [esi + 2], bl
test eax, eax
jns 0x100dda3c
cmp dword [esp + 0x54], 0
je 0x100dda15
test ecx, 0x10000000
je 0x100dda15
mov esi, ecx
lea eax, [esp + 0x128]
and esi, 7
push esi
push eax
push edx
call fcn.100f5f90
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x20]
add edx, esi
mov ecx, dword [esp + 0x58]
add al, 0x21
mov byte [edx], al
inc edx
jmp 0x100dd8f6
mov eax, dword [esp + 0x18]
mov byte [edx], cl
inc edx
test eax, eax
js 0x100dda2e
mov byte [edx], al
lea eax, [edx + 1]
mov edx, dword [esp + 0x38]
mov byte [eax], dl
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
add al, 0x21
mov byte [edx], al
inc edx
jmp 0x100dd8f6
cmp eax, ebx
je 0x100dd8fa
cmp dword [esp + 0x54], 0
je 0x100dda76
test ecx, 0x10000000
je 0x100dda76
mov esi, ecx
lea eax, [esp + 0x128]
and esi, 7
push esi
push eax
push edx
call fcn.100f5f90
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x58]
add edx, esi
jmp 0x100dda79
mov byte [edx], cl
inc edx
mov ebx, dword [esp + 0x18]
test ebx, ebx
js 0x100dda8f
mov byte [edx], bl
lea eax, [edx + 1]
mov edx, dword [esp + 0x38]
mov byte [eax], dl
lea edx, [eax + 1]
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x74]
mov dword [esp + 0x64], eax
cmp eax, 1
mov eax, dword [esp + 0x20]
jne 0x100ddab2
add al, 0x25
mov byte [edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100dd8fe
add al, 0x27
mov byte [edx], al
mov eax, dword [esp + 0x64]
sar eax, 8
mov byte [edx + 1], al
mov eax, dword [esp + 0x64]
mov byte [edx + 2], al
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x100dd8fe
mov byte [edx], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
test ebx, ebx
js 0x100ddafd
lea eax, [ecx + 1]
mov byte [ecx], bl
mov ecx, dword [esp + 0x38]
lea edx, [eax + 1]
mov byte [eax], cl
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x100dd55d
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x100dd55d
mov eax, dword [esp + 0x68]
mov al, byte [eax + 3]
cmp al, 0x10
je 0x100ddb2d
cmp al, 0xf
je 0x100ddb2d
movzx eax, byte [edx + 0x10120f28]
xor ecx, ecx
add eax, ecx
add dword [esp + 0x68], eax
jmp case.0x100dd582.33
movzx eax, byte [edx + 0x10120f28]
mov ecx, 2
add eax, ecx
add dword [esp + 0x68], eax
jmp case.0x100dd582.33
movzx ecx, byte [edx + 0x10120f28]
add ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x68], ecx
test ebp, ebp
je 0x100ddb94
mov al, byte [ecx - 1]
cmp al, 0xc0
jb 0x100ddb94
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x101205e8]
add eax, ecx
mov dword [esp + 0x68], eax
jmp 0x100ddb94
add dword [esp + 0x68], 0x21
jmp case.0x100dd582.33
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esp + 0x68], ecx
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
mov ecx, edx
mov eax, dword [esp + 0x68]
sub ecx, eax
mov dword [esp + 0x5c], ecx
test ecx, ecx
jle 0x100dd6fa
movzx ecx, byte [eax]
cmp ecx, 0x76
jae 0x100ddbc9
mov cl, byte [ecx + 0x10120420]
test cl, cl
je 0x100ddbc9
mov byte [eax], cl
mov ebx, dword [esp + 0x10]
jmp 0x100dd6fa
push dword [esp + 0x6c]
mov byte [edx], 0
push edi
push ebp
push 3
push dword [esp + 0x78]
call fcn.100d9790
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
push ebx
push eax
add eax, 3
push eax
call fcn.100e2570
mov eax, dword [esp + 0x88]
add ebx, 3
mov ecx, dword [esp + 0x34]
add esp, 0x20
mov byte [eax], 0x81
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x78
lea edx, [eax + 2]
mov ecx, ebx
mov byte [eax + 1], bl
sar ecx, 8
mov byte [eax], cl
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], edx
mov byte [eax + 1], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 2], bl
mov ebx, dword [esp + 0x10]
jmp 0x100dd6fa
inc ebx
mov dword [esp + 0x10], ebx
mov dl, byte [ebx]
cmp dl, 0x2a
jne 0x100dde82
lea eax, [ebx + 1]
mov dword [esp + 0x5c], eax
mov al, byte [eax]
cmp al, 0x3a
je 0x100ddc60
movzx ecx, al
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 2
je 0x100dde82
mov eax, dword [esp + 0x1c]
xor esi, esi
mov edx, dword [esp + 0x5c]
mov edi, 0x1011f0d8
mov ebx, edx
mov dword [esp + 0x40], 0
mov dword [esp + 0x10], ebx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x58], esi
movzx eax, byte [ebx]
mov dword [esp + 0x3c], esi
test byte [eax + ecx], 2
je 0x100ddc9f
inc ebx
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 2
jne 0x100ddc91
mov ebp, ebx
sub ebp, edx
cmp byte [ebx], 0x3a
jne 0x100ddce2
inc ebx
mov dword [esp + 0x10], ebx
mov esi, ebx
mov dword [esp + 0x58], ebx
mov al, byte [ebx]
test al, al
je 0x100ddccf
nop dword [eax]
cmp al, 0x29
je 0x100ddccf
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
test al, al
jne 0x100ddcc0
mov eax, ebx
sub eax, esi
mov dword [esp + 0x40], eax
cmp eax, 0xff
ja 0x100df7a1
cmp byte [ebx], 0x29
jne 0x100ddd20
xor ebx, ebx
mov esi, 0x1011f108
mov dword [esp + 0x48], ebx
cmp ebp, dword [esi]
jne 0x100ddd09
push ebp
push edi
push edx
call fcn.10100080
add esp, 0xc
test eax, eax
je 0x100ddd2f
mov edx, dword [esp + 0x5c]
inc edi
inc ebx
add edi, dword [esi]
add esi, 0xc
mov dword [esp + 0x48], ebx
cmp esi, 0x1011f174
jl 0x100ddcf2
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [eax], 0x3c
jmp 0x100dfa1a
lea ecx, [ebx + ebx*2]
mov eax, dword [ecx*4 + 0x1011f10c]
cmp eax, 0x9e
jne 0x100dddc9
cmp dword [esp + 0x40], 0
jne 0x100df7c3
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x6c], 1
test ecx, ecx
je 0x100ddd9d
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
nop dword [eax]
test eax, eax
je 0x100ddd79
add dword [eax], 3
jmp 0x100ddd8f
mov byte [ebx], 0xa0
mov al, byte [ecx + 5]
mov byte [ebx + 1], al
mov al, byte [ecx + 4]
mov byte [ebx + 2], al
add ebx, 3
mov eax, dword [esp + 0x4c]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100ddd70
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x48]
cmp dword [edi + 0x5c], 0
mov ebp, 0xffffffff
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
setg al
add al, 0x9e
mov byte [edx], al
inc edx
cmp ecx, 0xfffffffe
mov dword [esp + 0x14], edx
cmove ecx, ebp
mov dword [esp + 0x50], ecx
jmp 0x100dde3b
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x100ddde6
test eax, eax
js 0x100df7b0
mov edx, dword [esp + 0x14]
mov byte [edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x100dde37
mov ebx, dword [ecx*4 + 0x1011f110]
test ebx, ebx
js 0x100df7c3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
mov byte [ecx], bl
lea esi, [ecx + 2]
test eax, eax
je 0x100dde10
add dword [eax], edx
mov byte [ecx + 1], 0
mov ecx, esi
jmp 0x100dde27
push edx
push dword [esp + 0x5c]
mov byte [ecx + 1], dl
push esi
call fcn.100f5f90
mov ecx, dword [esp + 0x4c]
add esp, 0xc
add ecx, esi
mov byte [ecx], 0
mov al, bl
mov ebx, dword [esp + 0x48]
inc ecx
mov dword [esp + 0x14], ecx
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, al
add eax, 0xffffff6a
cmp eax, 5
ja case.default.0x100dde48
jmp dword [eax*4 + 0x100dfbc0]
or dword [edi + 0x64], 0x1000
jmp case.default.0x100dde48
mov dword [edi + 0x70], 1
cmp ebx, 9
jge 0x100ddd1c
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov eax, dword [esp + 0x44]
mov ebp, 0x85
mov dword [esp + 0x18], ebp
mov ebp, dword [edi + 0x20]
sub ebp, dword [edi + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x48], 0
cmp dl, 0x3f
jne 0x100de75f
inc ebx
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
add eax, 0xffffffdf
cmp eax, 0x5b
ja case.0x100dded1.34
movzx eax, byte [eax + 0x100dfc10]
jmp dword [eax*4 + 0x100dfbd8]
mov dword [esp + 0x48], 1
mov dword [edi + 0x7c], 1
mov ecx, 0x83
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
jmp 0x100de24f
cmp byte [ebx + 1], 0x3f
mov ecx, 0x87
mov edx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x8c], edx
jne 0x100ddf50
cmp byte [ebx + 2], 0x43
jne 0x100ddf50
mov al, byte [ebx + 3]
mov ecx, 3
cmp al, 0x30
jb 0x100ddf31
cmp al, 0x39
ja 0x100ddf31
mov al, byte [ecx + ebx + 1]
inc ecx
cmp al, 0x30
jae 0x100ddf24
cmp byte [ecx + ebx], 0x29
jne 0x100ddf43
lea edx, [ebx + 1]
add edx, ecx
mov dword [esp + 0x8c], edx
cmp byte [edx], 0x28
jne 0x100df7d6
mov ecx, dword [esp + 0x18]
cmp byte [edx + 1], 0x3f
jne 0x100ddf7f
mov al, byte [edx + 2]
cmp al, 0x3d
je 0x100ddf70
cmp al, 0x21
je 0x100ddf70
cmp al, 0x3c
jne 0x100ddf7f
mov al, byte [edx + 3]
cmp al, 0x3d
je 0x100ddf70
cmp al, 0x21
jne 0x100ddf7f
mov dword [edi + 0x80], 1
jmp 0x100de24f
mov eax, dword [esp + 0x14]
or esi, 0xffffffff
or edi, esi
mov dword [esp + 0x20], 3
xor ebp, ebp
xor ecx, ecx
mov byte [eax + 3], 0x8d
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x52
jne 0x100ddfc8
cmp byte [ebx + 1], 0x26
jne 0x100de07f
mov eax, dword [esp + 0x14]
or edx, esi
add ebx, 2
mov dword [esp + 0x10], ebx
mov byte [eax + 3], 0x8f
mov ebx, dword [esp + 0x10]
jmp 0x100ddfda
cmp al, 0x3c
jne 0x100de071
mov edx, 0x3e
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x100ddfe8
cmp al, 0x39
jbe 0x100df93f
mov ecx, dword [esp + 0x1c]
movzx eax, al
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 0x10
je 0x100df7d6
mov ebp, ebx
lea ebx, [ebp + 1]
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
je 0x100de01e
nop
inc ebx
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x100de010
xor eax, eax
mov dword [esp + 0x40], edx
mov edi, ebx
sub edi, ebp
cmp dword [esp + 0x4c], eax
setne al
xor ecx, ecx
lea eax, [eax*2 + 3]
mov dword [esp + 0x20], eax
test edx, edx
jle 0x100de0d7
mov al, byte [ebx]
inc ebx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x40], edx
cmp al, dl
je 0x100de0d7
mov eax, dword [esp + 0x24]
dec ebx
mov dword [eax], 0x1a
jmp 0x100dfa1a
cmp al, 0x27
jne 0x100de07f
mov edx, 0x27
jmp 0x100ddfd5
xor edx, edx
mov dword [esp + 0x40], edx
cmp al, 0x2d
je 0x100de09b
cmp al, 0x2b
je 0x100de09b
sub al, 0x30
cmp al, 9
ja 0x100ddfda
xor esi, esi
jmp 0x100de0a3
inc ebx
movzx esi, al
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x100de0d7
nop dword [eax]
cmp al, 0x39
ja 0x100de0d7
cmp ecx, 0xccccccb
jg 0x100df7e5
movzx eax, al
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [ecx - 0x18]
mov dword [esp + 0x10], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x100de0b0
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x10], ebx
cmp al, 0x29
jne 0x100de061
cmp dword [esp + 0x4c], 0
jne 0x100de247
test esi, esi
js 0x100de151
test ecx, ecx
jle 0x100df812
mov edi, dword [esp + 0x1c]
test esi, esi
je 0x100de11e
mov eax, dword [edi + 0x40]
cmp esi, 0x2d
jne 0x100de114
sub eax, ecx
lea ecx, [eax + 1]
jmp 0x100de116
add ecx, eax
test ecx, ecx
jle 0x100df97f
cmp ecx, dword [edi + 0x44]
jg 0x100df97f
mov ebp, dword [esp + 0x14]
mov eax, ecx
mov edx, dword [esp + 0x38]
shr eax, 8
mov byte [ebp + 4], al
mov eax, ebp
mov byte [eax + 5], cl
mov ebx, dword [esp + 0x10]
cmp ecx, dword [edi + 0x4c]
jle 0x100de148
mov dword [edi + 0x4c], ecx
mov ecx, dword [esp + 0x18]
jmp 0x100de257
mov eax, dword [esp + 0x1c]
xor esi, esi
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x7c], edx
cmp dword [eax + 0x30], esi
jle 0x100de19c
mov ebx, edx
push edi
lea eax, [ebx + 2]
push eax
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100de17d
cmp byte [ebx + edi + 2], al
je 0x100de190
mov eax, dword [esp + 0x1c]
inc esi
add ebx, dword [eax + 0x34]
mov dword [esp + 0x7c], ebx
cmp esi, dword [eax + 0x30]
jl 0x100de165
jmp 0x100de194
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
mov ecx, dword [eax + 0x30]
cmp esi, ecx
jge 0x100de2ba
mov eax, dword [esp + 0x7c]
mov ebx, 1
movzx edx, byte [edx]
shl edx, 8
mov dword [esp + 0xac], esi
inc esi
movzx eax, byte [eax + 1]
or edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
cmp edx, dword [eax + 0x4c]
jle 0x100de1d4
mov dword [eax + 0x4c], edx
cmp esi, ecx
jge 0x100de29b
mov ecx, dword [esp + 0x7c]
add ecx, dword [eax + 0x34]
push edi
mov dword [esp + 0x80], ecx
lea eax, [ecx + 2]
push eax
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100de211
mov ecx, dword [esp + 0x7c]
cmp byte [ecx + edi + 2], al
jne 0x100de211
mov eax, dword [esp + 0x1c]
inc esi
inc ebx
cmp esi, dword [eax + 0x30]
jl 0x100de1e0
cmp ebx, 1
jle 0x100de297
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
mov eax, ecx
add dword [esp + 0x20], 2
sar eax, 8
mov byte [edx + 4], al
mov eax, ebx
sar eax, 8
inc byte [edx + 3]
mov byte [edx + 5], cl
mov byte [edx + 6], al
mov byte [edx + 7], bl
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
inc dword [edi + 0x58]
cmp dword [edi + 0x58], 0xfa
jg 0x100df8e7
cmp ecx, 0x80
ja 0x100dea86
cmp dword [edi + 0x80], 0
je 0x100dea86
mov dword [esp + 0x3c], 0
mov dword [edi + 0x80], 0
jmp 0x100dea94
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x14]
mov eax, edx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
shr eax, 8
mov byte [ebp + 4], al
mov eax, ebp
mov byte [eax + 5], dl
mov ebx, dword [esp + 0x10]
jmp 0x100de253
cmp dword [esp + 0x40], 0
jne 0x100df97f
cmp byte [ebp], 0x52
jne 0x100de333
xor ecx, ecx
lea edx, [ecx + 1]
cmp edi, edx
jle 0x100de308
mov ah, byte [edx + ebp]
mov al, ah
sub al, 0x30
cmp al, 9
ja 0x100df97f
cmp ecx, 0xccccccb
jg 0x100df90f
lea ecx, [ecx + ecx*4]
movzx eax, ah
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp edx, edi
jl 0x100de2d8
test ecx, ecx
jne 0x100de30d
mov ecx, 0xffff
mov edx, dword [esp + 0x14]
mov eax, ecx
mov edi, dword [esp + 0x1c]
sar eax, 8
mov byte [edx + 4], al
mov eax, edx
mov byte [edx + 3], 0x8f
mov byte [eax + 5], cl
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
jmp 0x100de253
cmp edi, 6
jne 0x100df97f
push edi
push str.DEFINE
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100df97b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x20], 1
mov byte [eax + 3], 0x91
mov ebx, dword [esp + 0x10]
jmp 0x100de253
inc dword [edi + 0x5c]
mov ecx, 0x7d
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
jmp 0x100de24f
inc ebx
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x29
jne 0x100de3e5
mov al, byte [ebx + 1]
cmp al, 0x2a
je 0x100de3e5
cmp al, 0x2b
je 0x100de3e5
cmp al, 0x3f
je 0x100de3e5
cmp al, 0x7b
jne 0x100de3b7
lea eax, [ebx + 2]
push eax
call fcn.100e1540
add esp, 4
test eax, eax
jne 0x100de3e5
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov byte [edx], 0x9d
inc edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], 0
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
inc dword [edi + 0x5c]
mov ecx, 0x7e
mov dword [esp + 0x18], ecx
jmp 0x100de24f
mov al, byte [ebx + 1]
cmp al, 0x21
je 0x100de513
cmp al, 0x3d
je 0x100de4fb
movzx ecx, al
mov eax, dword [edi + 0xc]
test byte [ecx + eax], 0x10
je 0x100df821
mov dl, byte [ebx]
inc ebx
mov dword [esp + 0x10], ebx
mov esi, ebx
mov dword [esp + 0x5c], esi
mov al, byte [ebx]
cmp al, 0x30
jb 0x100de434
cmp al, 0x39
jbe 0x100df93f
mov ecx, dword [edi + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x100de44e
inc ebx
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x100de440
mov ebp, ebx
sub ebp, esi
cmp dword [esp + 0x4c], 0
je 0x100de6eb
mov eax, dword [edi + 0x40]
mov ecx, 0x3e
inc eax
cmp dl, 0x3c
mov dword [esp + 0x40], eax
mov eax, 0x27
cmove eax, ecx
cmp byte [ebx], al
jne 0x100df95d
mov ecx, dword [edi + 0x30]
cmp ecx, 0x2710
jge 0x100df888
lea eax, [ebp + 3]
cmp eax, dword [edi + 0x34]
jle 0x100de4a0
mov dword [edi + 0x34], eax
cmp ebp, 0x20
jg 0x100df94e
mov esi, dword [edi + 0x28]
xor edi, edi
test ecx, ecx
jle 0x100de64b
nop dword [eax]
cmp ebp, dword [esi + 4]
jne 0x100de629
push ebp
push dword [esi]
push dword [esp + 0x64]
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100de629
mov eax, dword [esp + 0x40]
cmp dword [esi + 8], eax
je 0x100de647
test dword [esp + 0x44], 0x80000
je 0x100df84f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x78], 1
jmp 0x100de63a
inc dword [edi + 0x5c]
mov ecx, 0x7f
add ebx, 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
jmp 0x100de24f
inc dword [edi + 0x5c]
mov ecx, 0x80
add ebx, 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
jmp 0x100de24f
mov ecx, 0x81
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
jmp 0x100de24f
mov eax, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0xb8], 1
mov byte [eax], 0x76
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x10]
xor ecx, ecx
inc ebx
mov esi, edx
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0x30
jb 0x100de598
nop
mov al, byte [ebx]
cmp al, 0x39
ja 0x100de598
lea ecx, [ecx + ecx*4]
movzx eax, al
lea ecx, [ecx - 0x18]
inc ebx
mov dword [esp + 0x10], ebx
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x100df831
cmp byte [ebx], 0x30
jae 0x100de570
cmp byte [ebx], 0x29
jne 0x100df840
mov ebp, dword [esp + 0x28]
mov byte [edx], cl
mov eax, dword [esp + 0x10]
sub eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x2c]
inc eax
sar eax, 8
mov byte [edx + 1], al
mov al, byte [esp + 0x10]
sub al, byte [edi + 0x18]
inc al
mov word [esi + 3], 0
mov byte [esi + 2], al
add edx, 5
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], 0
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x3d
je 0x100de612
cmp al, 0x3e
je 0x100de612
cmp al, 0x3c
je case.0x100dded1.39
mov eax, dword [esp + 0x24]
mov dword [eax], 0x29
jmp 0x100dfa1a
xor ecx, ecx
mov edx, 0x29
cmp al, 0x3e
sete cl
mov dword [esp + 0x48], ecx
mov esi, ecx
jmp 0x100dedce
mov eax, dword [esp + 0x40]
cmp dword [esi + 8], eax
je 0x100df862
mov eax, dword [esp + 0x1c]
inc edi
add esi, 0xc
cmp edi, dword [eax + 0x30]
jl 0x100de4b0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x30]
cmp edi, eax
mov edi, dword [esp + 0x1c]
jl 0x100de6eb
mov ecx, dword [edi + 0x38]
cmp eax, ecx
jl 0x100de6b6
lea edi, [ecx + ecx]
lea eax, [edi + edi*2]
shl eax, 2
push eax
call dword [0x10156360]
mov esi, eax
add esp, 4
test esi, esi
je 0x100df875
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x38]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [ebx + 0x28]
push esi
call fcn.100f5f90
add esp, 0xc
cmp dword [ebx + 0x38], 0x14
jle 0x100de6ae
push dword [ebx + 0x28]
call dword [0x10156364]
add esp, 4
mov dword [ebx + 0x38], edi
mov edi, ebx
mov dword [ebx + 0x28], esi
mov eax, dword [edi + 0x30]
mov edx, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x28]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0x30]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x28]
mov dword [eax + ecx*4 + 4], ebp
mov eax, dword [edi + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x28]
mov dword [eax + ecx*4 + 8], edx
inc dword [edi + 0x30]
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 0x40]
mov ecx, dword [esp + 0x14]
inc eax
mov dword [edi + 0x40], eax
shr eax, 8
mov dword [esp + 0x20], 2
mov byte [ecx + 3], al
mov al, byte [edi + 0x40]
mov byte [ecx + 4], al
mov ebx, dword [esp + 0x10]
jmp 0x100de24b
mov esi, 1
mov edx, 0x29
mov dword [esp + 0x48], esi
jmp 0x100dedce
inc ebx
xor edx, edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], edx
cmp byte [ebx], 0x29
je 0x100defc5
mov eax, dword [esp + 0x24]
mov dword [eax], 0x1d
jmp 0x100dfa1a
mov esi, dword [esp + 0x24]
mov dword [esp + 0x5c], 0x29
jmp 0x100de8c1
test eax, 0x1000
je 0x100de6f0
mov ecx, 0x83
mov edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
jmp 0x100de257
mov esi, dword [esp + 0x24]
lea eax, [esp + 0xbc]
push 0
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x48]
push ebx
push dword [edi + 0x40]
push esi
push eax
lea eax, [esp + 0x24]
push eax
call fcn.100d9f90
add esp, 0x18
mov edx, eax
cmp dword [esi], 0
mov dword [esp + 0x18], edx
jne 0x100dc038
test edx, edx
jne 0x100de805
cmp dword [esp + 0x54], eax
mov eax, dword [esp + 0xbc]
je 0x100de7f4
cmp eax, 0x7f
jbe 0x100de7f4
lea ecx, [esp + 0x100]
push ecx
push eax
call fcn.100f1a20
mov ebx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [edi + 0x20]
add esp, 8
sub eax, dword [edi + 0x10]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x6c], eax
jmp 0x100dcc2a
mov byte [esp + 0x100], al
mov esi, 1
jmp 0x100dcc09
mov ebp, dword [esp + 0x50]
cmp ebp, 0xfffffffe
jne 0x100de820
lea eax, [edx - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe ebp, eax
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x80], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x60], eax
cmp edx, 0x1b
jne 0x100ded80
mov ebx, dword [esp + 0x10]
mov edx, 0x27
mov eax, dword [edi + 0x20]
inc ebx
sub eax, dword [edi + 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x6c], eax
mov eax, 0x3e
cmp byte [ebx], 0x3c
mov dword [esp + 0x20], 0
cmove edx, eax
mov al, byte [ebx + 1]
mov dword [esp + 0x5c], edx
cmp al, 0x2b
je 0x100de89e
cmp al, 0x2d
je 0x100de89e
cmp al, 0x30
jb 0x100de890
cmp al, 0x39
jbe 0x100de89e
mov esi, 1
mov dword [esp + 0x48], esi
jmp 0x100dedce
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x30
jb 0x100de8b4
cmp al, 0x39
ja 0x100de8b4
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x100de8a8
cmp byte [ecx], dl
jne 0x100df929
inc ebx
mov dword [esp + 0x10], ebx
mov dl, byte [ebx]
cmp dl, 0x2b
jne 0x100de94f
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x100df897
cmp al, 0x39
ja 0x100df897
mov al, byte [ebx]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp al, 0x30
jb 0x100de91b
nop
cmp al, 0x39
ja 0x100de91b
cmp ecx, 0xccccccb
jg 0x100df8f6
movzx eax, al
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [ecx - 0x18]
mov dword [esp + 0x10], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
mov dword [esp + 0x18], ecx
cmp al, 0x30
jae 0x100de8f0
mov eax, dword [esp + 0x5c]
cmp byte [ebx], al
jne 0x100de73f
cmp dl, 0x2d
jne 0x100ded5f
test ecx, ecx
je 0x100df91e
mov edx, dword [edi + 0x40]
sub edx, ecx
inc edx
mov dword [esp + 0x18], edx
test edx, edx
jle 0x100df97f
jmp 0x100defc5
cmp dl, 0x2d
jne 0x100de8e3
mov al, byte [ebx + 1]
sub al, 0x30
cmp al, 9
ja case.0x100dded1.34
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100de8e3
xor eax, eax
lea ecx, [esp + 0xc4]
xor edx, edx
mov dword [esp + 0xc8], eax
cmp byte [ebx], 0x29
mov dword [esp + 0xc4], edx
je 0x100dea06
nop dword [eax]
mov al, byte [ebx]
cmp al, 0x3a
je 0x100de9f8
movzx eax, al
inc ebx
sub eax, 0x2d
mov dword [esp + 0x10], ebx
cmp eax, 0x4b
ja case.0x100de9b5.46
movzx eax, byte [eax + 0x100dfc90]
jmp dword [eax*4 + 0x100dfc6c]
lea ecx, [esp + 0xc8]
jmp 0x100de9f3
or dword [ecx], 0x80000
or dword [edi + 0x64], 0x400
jmp 0x100de9f3
or dword [ecx], 1
jmp 0x100de9f3
or dword [ecx], 2
jmp 0x100de9f3
or dword [ecx], 4
jmp 0x100de9f3
or dword [ecx], 8
jmp 0x100de9f3
or dword [ecx], 0x200
jmp 0x100de9f3
or dword [ecx], 0x40
cmp byte [ebx], 0x29
jne 0x100de990
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
or edx, dword [esp + 0x44]
not eax
and edx, eax
cmp byte [ebx], 0x29
jne 0x100dea67
mov ebp, dword [esp + 0x28]
mov eax, edx
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
shr eax, 9
and eax, 1
mov dword [esp + 0x44], edx
mov dword [esp + 0xcc], eax
xor eax, 1
mov dword [esp + 0xd0], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xe4]
mov dword [eax], edx
mov edx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov eax, dword [esp + 0x14]
mov ecx, 0x83
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x48], 0
jmp 0x100de257
mov ebx, dword [edi + 0x20]
sub ebx, dword [edi + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x1c]
mov byte [eax], cl
mov edi, dword [edi + 0x68]
mov dword [esp + 0x68], eax
mov esi, dword [ebx + 0x40]
mov dword [esp + 0x9c], 0
cmp ecx, 0x7f
je 0x100deac0
cmp ecx, 0x80
je 0x100deac0
xor ecx, ecx
jmp 0x100deac5
mov ecx, 1
xor ebp, ebp
lea eax, [esp + 0x9c]
cmp dword [esp + 0x4c], ebp
cmove eax, ebp
mov ebp, dword [esp + 0x18]
push eax
push ebx
push dword [esp + 0xe0]
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xec]
push eax
xor eax, eax
cmp ebp, 0x87
sete al
add eax, dword [esp + 0x198]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x34]
push dword [esp + 0x6c]
push ecx
push dword [esp + 0x50]
push eax
lea eax, [esp + 0x9c]
push eax
push edx
call fcn.100dfce0
add esp, 0x3c
test eax, eax
je 0x100dc038
dec dword [ebx + 0x58]
cmp ebp, 0x81
jne 0x100debdc
cmp dword [ebx + 0x40], esi
ja 0x100deb5b
mov eax, dword [esp + 0x14]
mov byte [eax], 0x82
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x10]
cmp byte [ebx], 0x29
jne 0x100df8d8
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x100dec68
mov esi, dword [esp + 0x9c]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [esi - 6]
cmp ecx, eax
jl 0x100df9f7
mov ecx, dword [esp + 0x4c]
lea eax, [esi - 6]
mov edi, dword [esp + 0x1c]
add eax, edx
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
lea edx, [eax + 6]
mov dword [eax + 1], 0x780300
mov byte [eax + 5], 3
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp ebp, 0x80
ja 0x100debec
dec dword [ebx + 0x5c]
jmp 0x100deb5b
cmp ebp, 0x87
jne 0x100deb5b
cmp dword [esp + 0x4c], 0
jne 0x100deb5b
mov ebx, dword [esp + 0x14]
xor esi, esi
mov edx, ebx
nop dword [eax + eax]
movzx ecx, byte [edx + 1]
inc esi
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x78
jne 0x100dec10
cmp byte [ebx + 3], 0x91
jne 0x100dec3e
cmp esi, 1
jg 0x100df8b2
mov ebp, 0x91
jmp 0x100deb5b
cmp esi, 2
jg 0x100df8c5
cmp esi, 1
jne 0x100deb5b
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], ecx
jmp 0x100deb69
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], edx
cmp ebp, 0x91
je 0x100ded38
mov esi, dword [esp + 0x78]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x80], esi
mov dword [esp + 0xb4], 0
cmp ebp, 0x81
jb 0x100ded52
cmp esi, 0xfffffffe
jne 0x100ded04
test ecx, ecx
js 0x100decef
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0xb4], 1
mov dword [esp + 0x80], 0xffffffff
jmp 0x100ded25
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
jmp 0x100ded25
test ecx, ecx
js 0x100ded25
test eax, eax
jns 0x100ded29
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc0], eax
mov eax, ecx
or eax, edi
mov dword [esp + 0xa0], eax
test eax, eax
js 0x100ded38
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp ebp, 0x7d
jne 0x100ded38
test eax, eax
js 0x100ded38
test ecx, ecx
jmp 0x100ded27
cmp dl, 0x2b
mov edx, dword [esp + 0x18]
jne 0x100defc5
test edx, edx
je 0x100df91e
add edx, dword [edi + 0x40]
mov dword [esp + 0x18], edx
jmp 0x100defc5
cmp edx, 0x1c
jne 0x100df23d
mov ebx, dword [esp + 0x10]
mov cl, byte [ebx + 1]
lea eax, [ebx + 1]
cmp cl, 0x3c
je 0x100deda6
cmp cl, 0x27
je 0x100deda6
cmp cl, 0x7b
jne 0x100df934
mov dword [esp + 0x10], eax
xor esi, esi
mov cl, byte [eax]
mov ebx, eax
mov dword [esp + 0x48], esi
cmp cl, 0x3c
jne 0x100dedbe
lea edx, [esi + 0x3e]
jmp 0x100dedce
cmp cl, 0x27
mov edx, 0x7d
mov ecx, 0x27
cmove edx, ecx
inc ebx
mov dword [esp + 0x10], ebx
mov ebp, ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x100dede3
cmp al, 0x39
jbe 0x100df93f
mov ecx, dword [edi + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x100dedfe
nop
inc ebx
mov dword [esp + 0x10], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x100dedf0
mov edi, ebx
sub edi, ebp
cmp dword [esp + 0x4c], 0
je 0x100deecf
xor ecx, ecx
mov dword [esp + 0x18], ecx
test edi, edi
je 0x100df96c
cmp byte [ebx], dl
jne 0x100df95d
cmp edi, 0x20
jg 0x100df94e
mov ecx, dword [esp + 0x1c]
test esi, esi
jne 0x100dee37
inc dword [ecx + 0x54]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
add eax, 0xe
mov dword [edx], eax
cmp dword [ecx + 0x7c], 0
je 0x100dee4d
add eax, 0xc
mov dword [edx], eax
mov esi, dword [ecx + 0x28]
xor ebx, ebx
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x40], ecx
test ecx, ecx
jle 0x100deebe
cmp edi, dword [esi + 4]
jne 0x100deeab
push edi
push dword [esi]
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100deeab
mov edx, dword [esi + 8]
mov dword [esp + 0x18], edx
cmp dword [esp + 0x48], eax
jne 0x100defc1
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x100deeab
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x100deea2
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100dee92
jmp 0x100deeab
mov eax, 1
mov word [ecx + 6], ax
mov ecx, dword [esp + 0x1c]
inc ebx
add esi, 0xc
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x40], ecx
cmp ebx, ecx
jl 0x100dee61
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x7c]
jmp 0x100def44
mov eax, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x5c], esi
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x7c], ecx
cmp dword [eax + 0x30], esi
jle 0x100def18
mov ebx, ecx
push edi
lea eax, [ebx + 2]
push eax
push ebp
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x100deeff
cmp byte [ebx + edi + 2], al
je 0x100def0c
mov eax, dword [esp + 0x1c]
inc esi
add ebx, dword [eax + 0x34]
cmp esi, dword [eax + 0x30]
jl 0x100deee7
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x40], ecx
cmp esi, ecx
jge 0x100df97f
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x5c]
movzx edx, byte [ebp]
movzx eax, byte [ebp + 1]
shl edx, 8
or edx, eax
mov dword [esp + 0x18], edx
cmp dword [esp + 0x48], 0
jne 0x100defc5
cmp dword [esp + 0x4c], 0
jne 0x100df253
cmp dword [edi + 0x78], 0
je 0x100df253
mov edi, dword [edi + 0x34]
mov dword [esp + 0xac], ebx
inc ebx
mov dword [esp + 0x48], 1
lea eax, [edi + ebp]
mov dword [esp + 0x58], eax
cmp ebx, ecx
jge 0x100df24f
mov esi, dword [esp + 0x40]
nop word [eax + eax]
lea ecx, [eax + 2]
lea eax, [ebp + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100df139
test dl, dl
je 0x100defba
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100df139
add eax, 2
add ecx, 2
test dl, dl
jne 0x100def96
xor eax, eax
jmp 0x100df13e
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
cmp dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x14]
mov ebx, dword [edi + 0x14]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], eax
jne 0x100df064
mov byte [ecx], 0
test edx, edx
je 0x100df002
push edx
push dword [esp + 0x58]
push dword [edi + 0x14]
call fcn.100d8fa0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x100df0d0
cmp edx, dword [edi + 0x44]
jg 0x100df97b
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
add eax, 0xffffff9c
add eax, dword [edi + 0x3c]
add ebx, edx
cmp dword [edi + 0x20], eax
jb 0x100df03d
push edi
call fcn.100e0640
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x100dc038
mov edx, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x20]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov cl, dl
sub cl, byte [edi + 0x14]
mov eax, dword [edi + 0x20]
inc cl
mov byte [eax + 1], cl
add dword [edi + 0x20], 2
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov eax, ebx
mov esi, dword [esp + 0x30]
mov byte [ecx], 0x75
sub eax, dword [edi + 0x14]
sar eax, 8
mov byte [ecx + 1], al
sub bl, byte [edi + 0x14]
mov eax, dword [esp + 0x50]
mov byte [ecx + 2], bl
add ecx, 3
mov ebx, dword [esp + 0x10]
cmp eax, 0xfffffffe
mov dword [esp + 0x14], ecx
mov ecx, 0xffffffff
mov edx, dword [esp + 0x14]
cmove eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb4], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jne 0x100df060
cmp dword [esp + 0x17c], ecx
jg 0x100df060
mov eax, dword [esp + 0xd8]
mov esi, eax
test eax, eax
je 0x100df126
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esi + 4]
cmp eax, ebx
jb 0x100df126
push 0
push edi
push dword [esp + 0x5c]
push ebp
push eax
call fcn.100e01b0
add esp, 0x14
test eax, eax
je 0x100df060
mov esi, dword [esi]
test esi, esi
jne 0x100df100
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x28
jmp 0x100dfa1a
sbb eax, eax
or eax, 1
mov edx, dword [esp + 0x48]
test eax, eax
jne 0x100df15e
mov eax, dword [esp + 0x58]
inc edx
add eax, edi
mov dword [esp + 0x48], edx
inc ebx
mov dword [esp + 0x58], eax
cmp ebx, esi
jl 0x100def90
mov edi, dword [esp + 0x1c]
cmp edx, 1
jle 0x100df249
mov eax, dword [esp + 0x50]
mov ecx, 0xffffffff
mov ebx, dword [esp + 0x14]
cmp eax, 0xfffffffe
mov esi, dword [esp + 0x58]
cmove eax, ecx
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
test byte [esp + 0x44], 1
mov dword [esp + 0x6c], eax
setne al
add al, 0x73
mov byte [ebx], al
mov eax, ecx
shr eax, 8
mov byte [ebx + 1], al
mov eax, edx
sar eax, 8
mov byte [ebx + 4], dl
lea edx, [ebx + 5]
mov byte [ebx + 2], cl
mov byte [ebx + 3], al
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
cmp ebx, esi
jae 0x100dcc83
mov ebp, 1
movzx edx, byte [ebx]
movzx eax, byte [ebx + 1]
shl edx, 8
or edx, eax
mov eax, ebp
mov ecx, edx
shl eax, cl
cmp edx, 0x20
cmovae eax, ebp
or dword [edi + 0x50], eax
cmp edx, dword [edi + 0x4c]
jle 0x100df1f8
mov dword [edi + 0x4c], edx
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x100df214
nop
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x100df210
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100df200
jmp 0x100df214
mov word [ecx + 6], bp
add ebx, dword [edi + 0x34]
cmp ebx, esi
jb 0x100df1d5
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test edx, edx
jns 0x100df318
neg edx
jmp 0x100df25b
mov edx, dword [esp + 0x18]
jmp 0x100df253
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x50], 0xfffffffe
jne 0x100df275
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
test bl, 1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
setne al
add al, 0x71
mov dword [esp + 0x3c], ecx
mov byte [ecx], al
mov eax, edx
sar eax, 8
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add ecx, 3
mov dword [esp + 0x14], ecx
cmp edx, 0x20
jge 0x100df2b5
mov ebx, 1
mov ecx, edx
mov eax, ebx
shl eax, cl
jmp 0x100df2bc
mov eax, 1
mov ebx, eax
or dword [edi + 0x50], eax
cmp edx, dword [edi + 0x4c]
jle 0x100df2c7
mov dword [edi + 0x4c], edx
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x100dbb36
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x100df2fa
mov ecx, dword [ecx]
test ecx, ecx
jne 0x100df2d2
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov word [ecx + 6], bx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp edx, 0xf
je 0x100df3c0
cmp edx, 0x10
je 0x100df3c0
cmp edx, 5
je 0x100df339
cmp edx, 4
je 0x100df339
cmp edx, 1
jne 0x100df346
cmp dword [edi + 0x48], 0
jne 0x100df346
mov dword [edi + 0x48], 1
lea ebx, [edx - 0x1d]
cmp ebx, 5
ja 0x100df371
mov ecx, dword [esp + 0x10]
mov ebx, dword [ebx*4 + 0x10156370]
inc ecx
mov edx, dword [esp + 0x14]
dec ebx
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov esi, dword [edi + 0x20]
lea eax, [edx - 6]
xor ecx, ecx
cmp eax, 0x10
mov eax, dword [esp + 0x14]
cmovbe ecx, eax
sub esi, dword [edi + 0x10]
cmp dword [esp + 0x54], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], esi
jne 0x100df39f
cmp edx, 0xe
jne 0x100df39f
mov edx, 0xd
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov byte [eax], dl
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
push esi
lea eax, [esp + 0x44]
mov dword [esp + 0x60], 0
push eax
lea eax, [esp + 0x64]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100e1290
add esp, 0x14
test eax, eax
je 0x100dc038
mov esi, dword [edi + 0x20]
xor eax, eax
sub esi, dword [edi + 0x10]
cmp dword [esp + 0x18], 0x10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
sete al
cmp eax, dword [esp + 0xe8]
mov dword [esp + 0x3c], edx
setne al
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x30]
add al, 0xf
mov byte [edx], al
mov al, byte [esp + 0x5c]
mov byte [edx + 1], al
mov al, byte [esp + 0x40]
mov byte [edx + 2], al
add edx, 3
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x54], 0
mov esi, 1
mov byte [esp + 0x100], dl
je 0x100dcc0d
cmp edx, 0xc0
jb 0x100dcc0d
mov al, byte [ebx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x100dcc0d
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
mov byte [esp + esi + 0x100], al
inc esi
mov al, byte [ebx + 1]
and al, 0xc0
cmp al, 0x80
je 0x100df481
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x10]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], eax
jmp 0x100dcc26
movzx ecx, byte [esp + 0x101]
movzx eax, byte [esp + 0x102]
and ecx, 0x3f
test dl, 0x10
jne 0x100df4d1
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x100df554
and eax, 0x3f
test dl, 8
jne 0x100df4f3
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x103]
jmp 0x100df554
test dl, 4
jne 0x100df51f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x103]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x104]
jmp 0x100df554
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x103]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x104]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esp + 0x105]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x100df565
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x10122d28]
shl eax, 7
and edx, 0x8000007f
jns 0x100df57f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x10124f28]
movzx ecx, byte [eax*8 + 0x101216ab]
test ecx, ecx
je 0x100df5d8
cmp dword [esp + 0x50], 0xfffffffe
lea edx, [ebx + 3]
mov word [ebx], 0x910
mov byte [ebx + 2], cl
mov dword [esp + 0x14], edx
jne 0x100df6e2
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
test byte [esp + 0x44], 1
mov edx, dword [esp + 0x14]
setne al
add al, 0x1d
xor ecx, ecx
mov byte [edx], al
inc edx
mov dword [esp + 0x14], edx
test esi, esi
je 0x100df606
mov al, byte [esp + ecx + 0x100]
inc ecx
mov byte [edx], al
inc edx
cmp ecx, esi
jb 0x100df5f3
mov dword [esp + 0x14], edx
mov al, byte [esp + 0x100]
cmp al, 0xd
je 0x100df615
cmp al, 0xa
jne 0x100df61c
or dword [edi + 0x64], 0x800
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x28], ebp
cmp ecx, 0xfffffffe
jne 0x100df6a0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x60], ecx
cmp esi, 1
je 0x100df679
cmp dword [esp + 0x98], 0
je 0x100df679
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
movzx eax, al
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
cmp esi, 1
je 0x100df6e2
movzx eax, byte [edx - 1]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0x68]
jmp 0x100df6de
mov eax, dword [esp + 0x84]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x60], eax
cmp esi, 1
je 0x100df6cc
cmp dword [esp + 0x98], 0
jne 0x100df6e2
movzx eax, byte [edx - 1]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0x68]
or eax, dword [esp + 0x98]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc ebx
mov dword [esp + 0x10], ebx
jmp 0x100db640
cmp edx, ecx
mov ecx, dword [esp + 0x24]
sbb eax, eax
and eax, 0x23
add eax, 0x34
mov dword [ecx], eax
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x40
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x1f
jmp 0x100dfa1a
mov dword [ecx], 7
jmp 0x100dfa1a
mov ebx, dword [esp + 0x10]
mov dword [ecx], 0x47
jmp 0x100dfa1a
mov ebx, dword [esp + 0x24]
mov dword [ebx], 0x53
mov ebx, dword [esp + 0x10]
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 8
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 6
jmp 0x100dfa1a
cmp byte [ebx + 1], 0x3a
mov ecx, 0xd
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
jmp 0x100dfa1a
mov esi, dword [esp + 0x24]
mov dword [esi], 9
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x4b
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x42
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x3b
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x1c
jmp 0x100dfa1a
cmp al, 0x30
jb 0x100df90f
mov al, byte [ebx]
nop
cmp al, 0x39
ja 0x100df90f
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x30
jae 0x100df7f0
mov eax, dword [esp + 0x24]
mov dword [eax], 0x3d
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x23
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
inc ebx
mov dword [eax], 0x18
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x26
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x27
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x2b
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x41
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x15
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x31
jmp 0x100dfa1a
mov dword [esi], 0x3f
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
dec ebx
mov dword [eax], 0xc
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x36
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x1b
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0xe
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x52
jmp 0x100dfa1a
cmp al, 0x30
jb 0x100df90f
mov al, byte [ebx]
nop dword [eax]
cmp al, 0x39
ja 0x100df90f
inc ebx
mov dword [esp + 0x10], ebx
mov al, byte [ebx]
cmp al, 0x30
jae 0x100df900
mov eax, dword [esp + 0x24]
mov dword [eax], 0x3d
jmp 0x100dfa1a
mov dword [esi], 0x3a
jmp 0x100dfa1a
mov dword [esi], 0x39
jmp 0x100dfa1a
mov dword [esi], 0x45
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x54
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x30
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x2a
jmp 0x100dfa1a
mov eax, dword [esp + 0x24]
mov dword [eax], 0x3e
jmp 0x100dfa1a
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [eax], 0xf
jmp 0x100dfa1a
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0x84]
mov dword [edx], eax
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0x50]
mov dword [edx], eax
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x78]
mov dword [edx], eax
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x70]
mov dword [edx], eax
mov eax, dword [esp + 0xfc]
mov dword [eax], ecx
mov eax, dword [esp + 0xdc]
mov dword [eax], ebx
test esi, esi
je 0x100dfa09
mov edx, dword [esp + 0x14]
mov edi, 0x7fffffeb
mov ecx, dword [esi]
mov eax, edx
mov ebp, dword [esp + 0xa4]
sub edi, ecx
sub eax, ebp
cmp edi, eax
jge 0x100dfa03
mov eax, dword [esp + 0x24]
mov dword [eax], 0x14
jmp 0x100dfa1a
sub ecx, ebp
add ecx, edx
mov dword [esi], ecx
mov eax, 1
jmp 0x100dfa25
mov eax, dword [esp + 0x24]
mov dword [eax], 0x34
mov eax, dword [esp + 0xdc]
mov dword [eax], ebx
xor eax, eax
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100f4277
add esp, 0x144
ret