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

Disassembly:
cmp word [ebp + 8], ax
sbb eax, eax
neg eax
pop ebp
je 0x1000681f
movzx esi, dl
movzx edx, byte [ecx - 0x10]
sub esi, edx
je 0x100067f6
xor edx, edx
test esi, esi
setg dl
call fcn.100064a7
sub edx, dword [ebp - 0x44]
lea esi, [ebp - 0x74]
and edx, ecx
push esi
mov dword [ebp - 0x88], 0xba1
add edi, dword [ebp - 0x88]
push dword [ebp - 0x58]
mov dword [ebp - 0x44], edi
and esi, dword [ebp - 0x44]
call fcn.10006556
and edx, dword [ebp - 0x88]
push dword [ebp - 0x58]
call fcn.100063af
add dword [ebp - 0x54], 0
je 0x1000686b
push dword [ebp - 0x74]
call fcn.100063af
and ecx, dword [ebp - 0x8c]
cmp dword [ebp - 0x54], 0x67
jne 0x1000689d
push dword [ebp + 0x10]
call fcn.10007966
mov edi, eax
pop ecx
mov dword [esi], eax
cmp dword [ebp + 0xc], ebx
je 0x100068ca
call 0x10008cc0
cmp dword [ebp - 0x5c], 1
je 0x100068db
mov eax, dword [esi + 0xb4]
cmp eax, ebx
je 0x10006896
cmp dword [eax], ebx
jne 0x100068b7
push dword [esi + 0xb0]
call fcn.1000816d
push dword [esi + 0xbc]
push dword [ebp - 0x58]
call fcn.100063af
xor eax, dword [ebp - 0x44]
push dword [ebp - 0x74]
call fcn.100063af
sub ebx, edi
call 0x1000716b
mov dword [ebp - 0x44], ebx
push dword [ebp - 0x68]
call fcn.100063af
cmp dword [ebp - 0x54], 0
je 0x1000693c
cmp edx, dword [ecx - 0x1e]
je 0x10006919
movzx esi, dl
movzx edx, byte [ecx - 0x1e]
sub esi, edx
je 0x100068a9
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x1000a12a
movzx esi, byte [eax - 0x1d]
movzx edx, byte [ecx - 0x1d]
sub esi, edx
je 0x100068ca
push dword [ebp - 0x68]
call fcn.100063af
test dword [ebp - 0x54], 0
je 0x1000697a
invalid
test esi, esi
jne 0x1000798d
movzx esi, byte [eax - 0x12]
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x1000690b
push dword [ebp - 0x58]
call fcn.100063af
mov dword [ebp - 0x8c], edx
and ecx, edx
push dword [ebp - 0x74]
call fcn.100063af
or esi, ecx
call fcn.10007a2f
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100069e2
call 0x1000a823
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x10009f08
push 0x1000f96c
push esi
push ebx
lea edi, [ebx + 0xb8]
call 0x1000850e
and dword [ebp - 4], 0
lea eax, [esi + 0x1c]
mov dword [ebp - 0x10], ebx
add esp, 0xc
sub dword [ebp - 0x10], esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebx + eax*4], edi
mov eax, dword [ebp - 0xc]
sub ecx, edx
lea ecx, [ebp - 0x68]
push ecx
call fcn.10006410
add dword [ebp - 0x54], 0
je 0x10006a09
push 0x16
push esi
lea eax, [ebp - 0x10]
push 1
push eax
call 0x10009070
or edi, eax
lea eax, [ebx + 0x18]
push eax
push 0x17
push dword [ebp - 0x68]
call fcn.100063af
add edx, ebx
push dword [ebp - 0x74]
call fcn.100063af
or ecx, dword [ebp - 0x50]
lea edi, [ebp - 0x74]
and ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x54], 0xfffffff7
jne 0x10006a47
or ecx, 0xffffffff
lea ecx, [ecx]
add ecx, 1
mov al, byte [esi]
or al, al
je 0x10006a37
push edi
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10006a6e
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x100093e2
mov ebx, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 0xffffffd6
jne 0x10006e08
xor word [ebp - 0x68], bx
xor edx, dword [ebp - 0x8c]
lea ebx, [ebp - 0x58]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10006e3a
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edi
cmp dword [esi + 0x18], edi
jne 0x10006e24
push ebx
xor eax, dword [ebp - 0x64]
and edx, esi
push dword [ebp - 0x68]
and eax, dword [ebp - 0x44]
and dword [ebp - 0x48], eax
call fcn.100064a7
mov byte [ebp - 0x44], 5
cmp dword [ebp - 0x54], 0x3f
jne 0x10006e7f
movzx edx, byte [esi + 1]
sub eax, edx
je 0x10006e0c
xor edx, edx
test eax, eax
setg dl
lea edx, [edx + edx - 1]
mov eax, edx
test eax, eax
mov edx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x7c]
or dword [ebp - 0x50], edi
add edx, dword [eax + 8]
mov dword [ebp - 0x58], edx
sub eax, dword [ebp - 0x8c]
xor dword [ebp - 0x88], ebx
xor edx, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x74]
and dword [ebp - 0x88], 0x118
mov edx, dword [ebp - 0x58]
xor edi, eax
sub eax, dword [ebp - 0x88]
mov ebx, dword [edx + 4]
mov dword [ebp - 0x74], ebx
add dword [ebp - 0x54], 0
je 0x10006ef2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10015be0]
cmp esi, eax
jle 0x10006f08
sub esi, 7
and eax, 0x80000003
jns 0x10006efd
dec eax
or eax, 0xfffffffc
inc eax
jne 0x10006ea9
mov eax, edi
push 0x64
cdq
pop ebx
idiv ebx
test edx, edx
cmp dword [ebp - 0x5c], 1
je 0x10006f1c
jne 0x10006f2d
cmp eax, 0x40
jae 0x1000a07b
cmp bl, 0x2e
je 0x100089f1
push eax
push esi
push 0x40
push dword [ebp + 8]
cmp dword [ebp + 0xc], 1
cmp dword [ebp - 0x74], 0x80000000
je 0x10006fb8
add edi, eax
sub edx, eax
sub ecx, ebx
add edi, dword [ebp - 0x88]
mov edx, 0x10000
cmp dword [ebp - 0x5c], 0xffffffae
jne 0x10006f6d
cmp ecx, 4
jb 0x10006f95
and eax, 3
sub ecx, eax
nop
inc esp
jae 0x10006f18
adc byte [eax + 0x73], ch
add byte [eax], dl
nop
jae 0x10006faf
adc byte [edx - 0x2edcfcba], cl
mov byte [edi + 3], al
sub esi, 1
shr ecx, 2
sub edi, 1
cmp ecx, 8
jb 0x10006f0b
sub dword [ebp - 0x68], edx
xor edi, esi
add dword [ebp - 0x50], 0xffffffb8
jmp 0x10006e12
push ebp
mov ebp, esp
sub esp, 0x10
push dword [ebp + 8]
lea ecx, [ebp - 0x10]
call fcn.10007b80
push dword [ebp + 0x1c]
lea eax, [ebp - 0x10]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
cmp dword [ebp - 0x5c], 0xffffffca
jne 0x10006ff6
cmp eax, 0x10015280
je 0x10006f48
push eax
call 0x10007893
pop ecx
mov dword [0x1000fb93], ebx
push ebx
call edi
mov dword [ebp - 4], 0xfffffffe
call fcn.1000b352
push 0xd
call fcn.10008f94
pop ecx
cmp eax, 0xffffffff
jne 0x10006fdc
cmp ebx, 0x1000f467
je 0x1000700b
lea ecx, [ebp - 0x58]
push ecx
call fcn.10006410
add ecx, dword [ebp - 0x50]
add dword [ebp - 0x64], esi
cmp dword [ebp - 0x5c], 1
je 0x10007040
push ebx
mov dword [ebp - 0x30], eax
mov eax, dword [eax]
push esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], edi
cmp eax, dword [ebp + 0xc]
je 0x1000b3e5
mov esi, dword [0x1000f811]
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
mov ebx, dword [0x1000f856]
lea esi, [ebp - 0x74]
push esi
call fcn.10006410
and edx, ebx
mov edx, dword [ebp - 0x7c]
xor word [ebp - 0x64], 0xd97
mov dword [ebp - 0x4c], edx
and ebx, dword [ebp - 0x64]
and ebx, ecx
lea eax, [ebp - 0x7c]
push eax
call fcn.10006410
xor word [ebp - 0x8c], 0x185
sub edi, dword [ebp - 0x88]
or dword [ebp - 0x8c], 0xdef
and ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x4c]
or ebx, edi
and dword [ebp - 0x44], esi
push dword [edi]
cmp dword [ebp - 0x5c], 1
je 0x100070c1
lea eax, [esi + 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xc
mov ebx, dword [ebp - 0x10]
push dword [ebx + 0x30]
call fcn.10007b80
push dword [ebx]
mov dword [ebp - 0x14], eax
call 0x10008b4f
add dword [ebp - 0x10], 4
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add eax, edi
dec dword [ebp - 0xc]
cmp dword [ebp - 0x54], 0
je 0x10007104
mov dword [ebp - 0x324], eax
call dword [0x1000f070]
mov dword [0x1000f9fa], eax
push 1
call 0x10009826
pop ecx
push 0
call dword [0x1000f0c8]
push 0x1000f464
call dword [0x1000f0b4]
cmp dword [0x1000f121], 0
jne fcn.1000714e
push 1
call fcn.1000b69a
pop ecx
mov edi, 8
mov ecx, edi
add dword [ebp - 0x4c], edi
and ecx, dword [ebp - 0x88]
cmp dword [ebp - 0x54], 0x10000002
jne 0x10007144
mov esi, ecx
mov byte [esi + 0xc], 0
test eax, eax
jne 0x100070e0
call 0x100090a2
mov dword [esi + 8], eax
mov ecx, dword [eax + 0x6c]
mov dword [esi], ecx
mov ecx, dword [eax + 0x68]
mov dword [esi + 4], ecx
mov ecx, dword [esi]
cmp ecx, dword [str.3P_r]
je 0x10007132
ret
sub esp, 0x10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, esi
lea eax, [ecx - 0x4e]
and ecx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x80]
add dword [ebp - 0x44], edx
add edx, esi
mov eax, dword [ebp - 0x7c]
and dword [ebp - 0x44], ecx
cmp dword [ebp - 0x54], 0x23
jne 0x10007283
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esi + 8], ecx
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
cmp dword [ebp - 0xc], 0
jne 0x10007233
cmp ebx, edx
mov edi, dword [eax + 8]
mov dword [ebp - 0x80], edi
add dword [ebp - 0x8c], 0xb40
and dword [ebp - 0x48], 0x56
mov eax, dword [ebp - 0x68]
and edi, ebx
mov edi, 0xf7dacce1
mov edi, ecx
xor esi, dword [ebp - 0x44]
mov esi, dword [ebp - 0x7c]
or dword [ebp - 0x50], 0xffffffe8
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x68], eax
lea edi, [esi + ebx*8 + 0x4d]
xor esi, ebx
or dword [ebp - 0x88], 0x16
mov edx, dword [ebp - 0x68]
mov eax, edx
mov ecx, dword [ebp - 0x80]
add edi, dword [ebp - 0x50]
and dword [ebp - 0x48], esi
add edx, dword [ecx + 0x18]
mov dword [ebp - 0x68], edx
xor edi, edx
or edi, dword [ebp - 0x50]
sub dword [ebp - 0x4c], 4
xor dword [ebp - 0x48], ebx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ebx
or edi, ecx
mov edi, 4
and dword [ebp - 0x44], ebx
mov dword [ecx], edi
mov ecx, eax
sub edx, esi
and dword [ebp - 0x44], 0x3a
sub dword [ebp - 0x4c], 4
add dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007373
push dword [esi + 0x88]
call fcn.1000a44a
push dword [esi + 0x8c]
call fcn.10009191
push dword [esi + 0x90]
call fcn.1000b86f
push dword [esi + 0x94]
call fcn.10008c93
push dword [esi + 0x98]
call 0x10006c18
push dword [esi + 0x9c]
call fcn.1000a83e
push dword [esi + 0xa0]
call fcn.10006776
push dword [esi + 0xa4]
call fcn.1000b9f7
push dword [esi + 0xa8]
call 0x1000711d
and ecx, esi
mov ecx, 0x3000
add edi, dword [ebp - 0x8c]
or esi, dword [ebp - 0x8c]
mov dword [ebx], ecx
sub edi, ebx
push 0x42
call fcn.1000623f
and dword [ebp - 0x64], 0xcd8
mov dword [ebp - 0x64], 0x73d
mov edi, dword [ebp - 0x80]
cmp dword [ebp - 0x54], 0x52
jne 0x100073c8
je 0x1000780b
cmp dword [ebx], 0
je 0x10007352
cmp al, 0x27
je 0x10007342
push dword [ebp + 8]
movsx eax, al
push eax
call fcn.10008f0a
pop ecx
mov edi, dword [edi + 8]
or edx, dword [ebp - 0x48]
or word [ebp - 0x48], 0x970
mov esi, dword [ebp - 0x4c]
cmp dword [ebp - 0x54], 0x22
jne 0x100073f1
inc eax
cmp dword [ebp + 0xc], ebx
jl 0x100073fa
push esi
push edi
test eax, eax
je 0x10007450
mov eax, dword [ebp + 0xc]
add eax, ebx
cdq
sub eax, edx
mov dword [esi], edi
xor dword [ebp - 0x64], 0xe5e
xor dword [ebp - 0x64], edx
mov word [ebp - 0x50], 0xd7c
add dword [ebp - 0x88], 0x71
mov dword [ebp - 0x48], 0x735
or edx, esi
mov edx, 0x9d30c8e4
mov edx, edi
sub dword [ebp - 0x4c], 4
sub ebx, dword [ebp - 0x8c]
or esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x4c]
and dword [ebp - 0x48], ebx
and ecx, edx
mov ecx, edi
mov ecx, 0
xor ebx, dword [ebp - 0x50]
or edi, dword [ebp - 0x44]
mov dword [edx], ecx
and edx, dword [ebp - 0x64]
mov dword [ebp - 0x78], esp
xor edi, esi
lea ecx, [edi + edx*8 + 0x12ed]
mov esp, dword [ebp - 0x4c]
add dword [ebp - 0x64], edx
lea ebx, [esi + ecx*2 + 0x9f9]
mov eax, dword [ebp - 0x68]
call dword [eax]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
add word [ebp - 0x44], 0x34d
mov dword [ebp - 0x4c], esp
cmp dword [ebp - 0x5c], 1
je 0x1000748d
pop ecx
test eax, eax
mov esp, dword [ebp - 0x78]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100074b9
push 8
call fcn.10007b56
pop ecx
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x10007503
call eax
add esi, 4
cmp esi, dword [ebp + 8]
jb fcn.10007474
add dword [ebp - 0x88], ebx
mov edx, dword [ebp - 0x7c]
xor ebx, ecx
and ebx, esi
mov edi, dword [ebp - 0x68]
add ebx, 0x39e
mov dword [edx - 4], edi
sub eax, esi
or edi, ebx
and edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x58]
cmp dword [ebp - 0x5c], 0xfffffff1
jne 0x10007513
mov eax, ecx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x1000749b
xor edx, edx
test eax, eax
setg dl
lea edx, [edx + edx - 1]
mov eax, edx
test eax, eax
jne 0x1000748a
movzx eax, byte [ecx + 1]
movzx edx, byte [esi + 1]
sub eax, edx
je 0x10007516
xor edx, edx
mov esi, dword [ebp - 0x7c]
add ecx, 0xee35
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x58], edx
and ecx, edi
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007561
cmp byte [ebp - 4], bl
je 0x100074c4
mov eax, dword [ebp - 8]
and dword [eax + 0x70], 0xfffffffd
mov eax, 0x1000fd5a
push edi
mov edi, dword [ebp + 0xc]
cmp edi, ebx
jne 0x10007583
call 0x100073dd
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [eax], 0x16
call 0x10007cc6
add esp, 0x14
cmp byte [ebp - 4], bl
xor dword [ebp - 0x50], 0x4e
cmp dword [ebp - 0x54], 0x10000002
jne 0x10007598
je 0x1000754f
push edi
push esi
call fcn.1000b542
pop ecx
pop ecx
call dword [0x1000f054]
or dword [esi + 4], 0xffffffff
mov dword [esi], eax
push esi
call fcn.10006d9a
pop ecx
cmp eax, 3
jne 0x10007609
push edi
call fcn.10007bcf
pop ecx
mov eax, dword [ebp - 0x58]
add ebx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x80]
and edi, dword [ebp - 0x64]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x58], eax
and ecx, dword [ebp - 0x8c]
add ebx, dword [ebp - 0x48]
cmp dword [ebp - 0x5c], 1
je 0x100075de
push 1
push eax
call fcn.1000b268
add esp, 0x50
or edi, eax
lea eax, [ebx + 0x1c]
push eax
push 0x18
push esi
lea eax, [ebp - 0x10]
push 1
push eax
call fcn.1000b1b8
or edi, eax
lea eax, [ebx + 0x20]
push eax
mov edx, dword [ebp - 0x68]
add edi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x44], 0x14f
add esi, ebx
lea edx, [edi - 8]
mov dword [ebp - 0x68], edx
mov edi, esi
or dword [ebp - 0x88], esi
push dword [ebp - 0x68]
call fcn.100063af
sub esi, edx
mov esi, edx
add eax, 0x2104
lea ecx, [eax + 0x30]
sub dword [ebp - 0x4c], 4
cmp dword [ebp - 0x54], 0xffffff94
jne 0x1000765b
mov ecx, dword [eax + edx*4 + 0xc4]
mov edi, dword [eax + edx*4 + 0x44]
and ecx, dword [ebp - 8]
and edi, esi
or ecx, edi
jne 0x100075d3
and dword [ebp - 4], 0
mov edx, dword [eax + 0xc4]
lea ecx, [eax + 0x44]
mov edi, dword [ecx]
and edx, dword [ebp - 8]
and edi, esi
or edx, edi
jne 0x10007682
inc dword [ebp - 4]
mov edx, dword [ecx + 0x84]
add ecx, 4
mov edx, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
xor dword [ebp - 0x8c], esi
mov dword [ebp - 0x50], edx
add eax, ebx
mov eax, 0x40
add esi, dword [ebp - 0x64]
cmp dword [ebp - 0x54], 0
je 0x10007693
push esi
mov esi, dword [ebp + 0x10]
mov byte [eax], bl
cmp esi, ebx
je 0x10008006
mov eax, dword [ebp + 0x18]
mov dword [edx], eax
xor dword [ebp - 0x48], edx
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100076ca
call edi
push eax
call 0x10009410
pop ecx
push edi
call 0x10006e1e
pop ecx
mov esi, eax
call fcn.100094ac
push esi
push 0x1000f367
mov ebx, eax
call dword [0x1000f028]
cmp eax, ebx
je 0x100076aa
sub dword [ebp - 0x4c], 4
or edx, edi
mov ebx, dword [ebp - 0x80]
sub esi, eax
mov ebx, dword [ebx + 8]
mov byte [ebp - 0x64], 0x49
mov edi, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000771d
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
mov dword [edi], ebx
add dword [ebp - 0x64], 0xd47
and ebx, edi
push esi
call fcn.1000623f
sub ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x7c]
and ebx, dword [ebp - 0x44]
test esi, esi
jne 0x1000b06a
movzx esi, byte [eax - 0xf]
movzx edx, byte [ecx - 0xf]
sub esi, edx
je 0x100077c4
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10006966
movzx esi, byte [eax - 0xe]
movzx edx, byte [ecx - 0xe]
sub esi, edx
mov dword [ebx], ecx
cmp dword [ebp - 0x5c], 1
je 0x100077e3
sub esi, edx
je 0x100077ff
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10008181
movzx esi, byte [eax - 0xb]
movzx edx, byte [ecx - 0xb]
and dword [ebp - 0x50], ecx
mov dword [ebp - 0x78], esp
mov dword [ebp - 0x48], ebx
mov esp, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], 0x71
jne 0x1000781f
mov eax, dword [ebp + 0xc]
call 0x100084ad
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov edi, edi
push ebp
mov ebp, esp
in al, dx
sub esp, 0x20
mov eax, dword [0x1000fab3]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x1c]
xor ebx, ebx
mov ecx, dword [ebp - 0x58]
call dword [ecx]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
add ecx, 0xdfc
mov dword [ebp - 0x4c], esp
add ebx, edi
mov ebx, 0x2e5e99c2
mov ebx, eax
and dword [ebp - 0x48], esi
mov esp, dword [ebp - 0x78]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000785e
mov eax, dword [edi]
test eax, eax
je 0x10007853
call eax
add edi, 4
cmp edi, esi
jb 0x100077db
pop edi
pop esi
mov edi, edi
sub esi, ebx
mov ebx, dword [ebp - 0x68]
xor esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x7c]
add eax, edx
mov ebx, dword [edi - 4]
mov dword [ebp - 0x68], ebx
and dword [ebp - 0x8c], ebx
sub ecx, dword [ebp - 0x44]
lea edx, [ebp - 0x80]
push edx
call fcn.10006410
mov dword [ebp - 0x48], 0x3c8
and esi, dword [ebp - 0x48]
cmp dword [ebp - 0x5c], 1
je 0x100078c0
or dword [ebp + 0x18], 2
cmp bl, 0x2b
jne 0x10007913
mov bl, byte [edi]
inc edi
mov eax, dword [ebp + 0x14]
test eax, eax
jl 0x10007f83
cmp eax, 1
je 0x100067e7
cmp eax, 0x24
jg 0x10009353
lea edi, [ebp - 0x58]
push edi
call fcn.10006410
cmp dword [ebp - 0x54], 0x10000002
jne 0x100078f3
or esi, edx
add edi, 0x59c6
lea edi, [ebp - 0x74]
push edi
call fcn.10006410
cmp dword [ebp - 0x54], 0x5d
jne 0x10007923
mov al, byte [esi]
test al, al
jne 0x1000793a
push edi
call fcn.1000af84
mov edi, eax
pop ecx
pop ecx
mov dword [0x1000f145], edi
mov edx, dword [ebp - 0x7c]
cmp dword [ebp - 0x54], 0
je 0x1000795b
jne 0x1000790a
xor eax, eax
cmp eax, dword [ebp + 0x20]
je 0x1000a7dd
mov dword [ebp - 0x4c], edx
add ecx, esi
cmp dword [ebp - 0x5c], 1
je 0x1000798d
lea edi, [ecx + esi*2 + 0x11b4]
lea edx, [ebp - 0x7c]
push edx
call fcn.10006410
or dword [ebp - 0x64], 0xfffffff1
xor dword [ebp - 0x88], 0xeef
add dword [ebp - 0x54], 0
je 0x100079d0
pop edi
pop esi
pop ebx
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push esi
xor esi, esi
cmp ecx, esi
jl 0x10007db3
cmp ecx, 2
mov edx, dword [ebp - 0x74]
lea edi, [esi - 0x71]
mov ebx, dword [ebp - 0x60]
or dword [ebp - 0x44], 0x4e
cmp dword [ebp - 0x54], 0
je 0x10007db4
add esp, 0xc
cmp eax, ebx
je 0x1000ab56
push ebx
push ebx
push ebx
push ebx
push ebx
call 0x10008908
add esp, 0x14
mov eax, dword [0x1000f871]
cmp eax, ebx
je 0x10007d6c
push eax
call fcn.10006b27
pop ecx
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x44], ebx
lea edi, [esi + 0x167c]
add dword [ebp - 0x54], 0
je 0x10007e0b
push dword [0x1000fadc]
call edi
add esi, 0x14
inc ebx
cmp ebx, dword [0x1000fd78]
jl 0x10007dee
pop esi
push dword [0x1000f8ac]
push 0
push dword [0x1000f5cd]
call edi
pop edi
pop ebx
push dword [0x1000fb03]
call dword [0x1000f0d0]
mov eax, 0xad4f1d
jmp eax
mov ebx, 4
sub esi, dword [ebp - 0x48]
add esi, dword [ebp - 0x48]
sub dword [ebp - 0x74], ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x80], 0
sub esi, edx
or ebx, dword [ebp - 0x44]
and ecx, ebx
mov ecx, dword [ebp - 0x68]
lea edx, [eax - 0x7f]
or edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x7c]
or dword [ebp - 0x48], 0x507
mov ecx, dword [ebx - 4]
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007e64
mov edi, edi
push esi
mov eax, 0x1000f97c
mov esi, 0x1000fc61
push edi
mov edi, eax
cmp eax, esi
jae 0x10007e70
mov eax, dword [edi]
test eax, eax
lea eax, [ebp - 0x68]
and edx, edi
push eax
cmp dword [ebp - 0x5c], 0xffffffae
jne 0x10007ea8
mov ecx, dword [0x1000f299]
mov ax, word [ecx + eax*2]
and ax, word [ebp + 0xc]
movzx eax, ax
mov dword [ebp - 4], eax
push dword [ebp + 0x10]
lea ecx, [ebp - 0x14]
call fcn.1000a0dc
mov eax, dword [ebp - 0x14]
push dword [eax + 0x14]
push dword [eax + 4]
lea eax, [ebp - 4]
push eax
push 1
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x14]
push 1
push eax
push dword [ebp - 0x74]
mov dword [ebp - 0x50], 0xd2f
call fcn.10006556
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007edc
mov ecx, dword [ebp - 0x68]
or edx, dword [ebp - 0x88]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007f08
mov ebx, dword [ebp - 0x68]
sub esi, dword [ebp - 0x48]
and dword [ebp - 0x8c], eax
mov ebx, dword [ecx]
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x54], 0xffffff94
jne 0x10007f44
lea edi, [ebp - 0x68]
and ecx, edx
push edi
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007f85
inc cl
push dword [ebp - 0x80]
cmp dword [ebp - 0x54], 0xffffff9c
jne 0x10007fba
call fcn.100065f8
or dword [ebp - 0x50], 0x7b
xor dword [ebp - 0x48], 0x3c8
sub ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x7c]
lea edx, [edx + ebx*4 - 0x76]
mov ebx, dword [ebp - 0x68]
xor dword [ebp - 0x44], edi
mov dword [esi - 8], ebx
add dword [ebp - 0x50], ecx
add edi, 0xb743
or edi, dword [ebp - 0x88]
test dword [ebp - 0x54], 0
je 0x1000801b
cmp esi, dword [0x1000fe2b]
jbe 0x10008052
or esi, 0xffffffff
mov eax, esi
pop esi
pop ebp
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, dword [0x1000f9c2]
mov dword [0x1000f8ce], ecx
pop ebp
mov edi, edi
push ebp
mov eax, dword [ebp - 0x58]
add dword [ebp - 0x48], 0x71
or edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x60]
and esi, edi
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x58], eax
or edx, dword [ebp - 0x50]
and edx, ebx
lea edx, [ebp - 0x68]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10008073
push 0x1000f13f
push edi
call esi
push 0x1000fbe8
push edi
mov dword [0x1000f89d], eax
call esi
push 0x1000f772
push edi
mov dword [0x1000fb15], eax
call esi
push 0x1000fc95
push edi
mov dword [0x1000f9a9], eax
call esi
push edx
test dword [ebp - 0x54], 0
je 0x1000809d
pop ebx
pop ebp
xor dl, dl
cmp byte [ecx], dl
je 0x10008052
push ebx
push esi
mov al, byte [ecx]
cmp al, 0x30
jl 0x10008089
cmp al, 0x39
jg 0x1000804c
push dword [ebp - 0x58]
add esi, ecx
call fcn.10006659
xor edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
xor eax, dword [ebp - 0x44]
add edi, 0xc296
mov edi, 0xe7c8b951
mov edi, esi
mov edi, 0xa7b988c5
mov edi, ecx
or word [ebp - 0x48], 0xb90
sub edi, 0x36
mov esi, dword [ebp - 0x68]
or word [ebp - 0x64], 0x2a7
mov dword [edi + 0x36], esi
add dword [ebp - 0x8c], 0xfea
add dword [ebp - 0x54], 0
je 0x1000810c
jne 0x10008141
test esi, esi
jne 0x1000808b
inc esi
add esi, 0xf
and esi, 0xfffffff0
push esi
push 0
push dword [0x1000fd68]
call dword [0x1000f020]
pop esi
add eax, 0xe797
mov eax, 4
and ecx, ebx
add dword [ebp - 0x88], ebx
sub dword [ebp - 0x84], eax
or ebx, dword [ebp - 0x64]
or esi, eax
lea esi, [ebp - 0x80]
sub ebx, dword [ebp - 0x48]
push esi
cmp dword [ebp - 0x5c], 5
jne 0x10008150
mov edi, edi
push ebp
mov ebp, esp
push dword [ebp + 0xc]
push 2
push dword [ebp + 8]
call 0x100085e8
add esp, 0xc
pop ebp
mov edi, edi
push ebp
push dword [ebp - 0x68]
mov ecx, edx
add dword [ebp - 0x44], 0xffffff8f
call fcn.100064a7
add edi, dword [ebp - 0x88]
test dword [ebp - 0x54], 0
je 0x1000819a
imul ebp, dword [edx - 0x51e3f000], 0
adc byte [edx + esi*4], cl
add byte [eax], dl
in eax, dx
mov ch, 0
adc ah, ah
test eax, 0xad911000
add byte [eax], dl
xor dword [ecx + 0x1000fce4], 0xa9591000
add byte [eax], dl
push es
sub dword [ebp - 0x4c], 4
or dword [ebp - 0x64], 0xd
mov edx, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], 1
je 0x100081d1
add ecx, 0x7794
mov ecx, 0xff00
add eax, ecx
mov dword [edx], ecx
cmp dword [ebp - 0x5c], 1
je 0x10008203
je 0x1000822e
movzx edx, byte [ecx - 0xc]
movzx esi, byte [eax - 0xc]
sub esi, edx
je 0x10008175
invalid
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
xor dword [ebp - 0x44], 0x15
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10008231
mov dword [ebp - 4], edx
lea eax, [ebp - 0x58]
push eax
call fcn.10006410
add dword [ebp - 0x64], edx
add dword [ebp - 0x50], edi
mov esi, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x64]
add dword [ebp - 0x64], esi
mov ecx, dword [ebp - 0x7c]
add edx, eax
mov esi, dword [ecx - 8]
mov dword [ebp - 0x68], esi
cmp dword [ebp - 0x5c], 1
je 0x1000827c
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10008ebc
add esp, 0x18
pop ebp
mov edi, edi
push ebp
mov ebp, esp
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
sub ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x58]
lea edx, [edx + 0x1c1e]
mov eax, ebx
and dword [ebp - 0x68], ebx
mov dword [ebp - 0x88], 0x6a2
add dword [ebp - 0x54], 0
je 0x100082d9
call fcn.1000a9a6
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x1000f8ad]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
call 0x100070c7
mov esi, eax
mov edx, edi
add esi, 0x1000f179
call fcn.10009154
mov ebx, dword [0x1000f837]
mov edi, eax
or edi, dword [ebp - 0x8c]
sub dword [ebp - 0x4c], 4
add edi, 0xb4ab
mov eax, dword [ebp - 0x4c]
xor edx, esi
sub ecx, dword [ebp - 0x64]
xor edx, edi
mov edx, 8
lea ecx, [ebx]
test dword [ebp - 0x54], 0
je 0x1000832f
mov dword [eax], edx
cmp dword [ebp - 0x5c], 1
je 0x1000836a
mov ebp, esp
sub esp, 0x10
push dword [ebp + 8]
lea ecx, [ebp - 0x10]
call fcn.1000a6b7
push dword [ebp + 0x28]
lea ecx, [ebp - 0x10]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call 0x100087dc
add esp, 0x20
push dword [ebp - 0x68]
call fcn.100063af
xor eax, edx
cmp dword [ebp - 0x5c], 1
je 0x100083b1
call fcn.1000b8d9
or edi, dword [ebp - 0x88]
xor ecx, edx
or eax, edi
push 0x7c
call fcn.1000623f
and ecx, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x4c]
sub edi, edx
xor dword [ebp - 0x50], 0x69
lea ecx, [eax - 0x1e]
mov ecx, pe_nt_image_headers32
cmp dword [ebp - 0x54], 0
je 0x100083fd
push 3
push esi
push 0x40
mov edi, dword [ebp - 0x20]
push dword [edi]
call fcn.1000855a
add esp, 0x10
test eax, eax
je 0x10008437
push ebx
push ebx
push ebx
mov dword [ebx], ecx
cmp dword [ebp - 0x5c], 1
je 0x10008441
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x19c]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x18c], 5
jne 0x10008413
push 1
push dword [esi + 0x14]
lea eax, [ebp - 0x188]
push dword [esi + 4]
push eax
push 0x7f
push 0x1000f14f
push 1
push 0
call fcn.1000b7ec
add esp, 0x20
and ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x58]
push eax
call fcn.10006410
lea ebx, [esi + ecx*8 + 0x18ef]
cmp dword [ebp - 0x54], 0x10000002
jne 0x10008491
movzx esi, byte [eax - 0x1a]
movzx edx, byte [ecx - 0x1a]
sub esi, edx
je 0x10008481
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x100068b1
movzx esi, byte [eax - 0x19]
movzx edx, byte [ecx - 0x19]
sub esi, edx
je 0x100084e2
xor edx, edx
test esi, esi
mov eax, dword [ebp - 0x58]
or dword [ebp - 0x64], 0xfffffffc
or dword [ebp - 0x50], edi
cmp dword [ebp - 0x68], eax
jb 0x1000884d
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100084ef
mov edi, dword [ebp - 0x28]
push 0x1000f9a3
mov eax, 0x1000fcf5
call fcn.10007a09
pop ecx
push 0x1000f931
mov eax, 0x1000f720
call 0x1000b642
pop ecx
mov dword [ebp - 4], 0xfffffffe
call fcn.10006be9
cmp dword [ebp + 0x10], 0
jne 0x100084ba
mov dword [0x1000fa90], ebx
push 8
call 0x100082a0
xor edi, edx
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x68]
xor ebx, ecx
xor edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x7c]
cmp dword [ebp - 0x54], 0x10000002
jne 0x10008545
jne 0x10008568
cmp dword [ebp - 0x20], eax
je 0x1000855c
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], eax
mov esi, eax
mov dword [ebp - 0x24], esi
mov edi, dword [ebp - 0x28]
push 0x1000f595
mov eax, 0x1000f8bd
call fcn.10007f1f
pop ecx
push 0x1000fb7f
mov eax, 0x1000f7e7
call fcn.10008210
mov ecx, dword [ebx - 8]
mov dword [ebp - 0x68], ecx
xor word [ebp - 0x44], 0x301
cmp dword [ebp - 0x54], 0x10000002
jne 0x10008582
jne 0x1000ae22
mov edx, dword [eax - 0x18]
cmp edx, dword [ecx - 0x18]
je 0x100084fa
movzx esi, dl
movzx edx, byte [ecx - 0x18]
sub esi, edx
je 0x100085b7
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
cmp dword [ebp - 0x5c], 0x2f
jne 0x100085c2
inc eax
cmp eax, 0x7f
jb 0x10008523
push 0x1000fdd7
push dword [0x1000f6f8]
lea eax, [ebp - 0x188]
push eax
call 0x10009847
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [edi + 4], eax
and dword [edi + 4], 0
mov eax, dword [esi + 4]
mov dword [edi], eax
mov eax, dword [edi + 4]
mov dword [esi + 0xa8], eax
push edx
call fcn.1000623f
sub esi, edx
mov esi, ecx
mov esi, dword [ebp - 0x4c]
add edx, edi
lea edi, [esi + 0x1028]
mov edi, 0xf000
and ecx, dword [ebp - 0x8c]
cmp dword [ebp - 0x5c], 0xffffffe1
jne 0x1000860e
je 0x100085ad
add eax, 0xb4
push eax
call dword [0x1000f008]
mov dword [edi], esi
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
xor dl, dl
cmp byte [ecx], dl
je 0x1000858e
push ebx
push esi
mov al, byte [ecx]
cmp al, 0x30
jl 0x10008606
cmp al, 0x39
mov dword [esi], edi
xor dword [ebp - 0x50], 0x3d1
add edi, dword [ebp - 0x88]
sub ecx, dword [ebp - 0x8c]
cmp dword [ebp - 0x5c], 1
je 0x10008662
cmp dword [esi + 0x5c], edi
lea edi, [ebp - 0x58]
push edi
call fcn.10006410
cmp dword [ebp - 0x54], 0
je 0x10008693
test edi, edi
jne 0x100085fd
mov ecx, dword [ebp + 0x10]
mov edx, ecx
and edx, 0x7f
mov dword [ebp - 0xc], edx
cmp ecx, edx
je 0x1000865f
sub ecx, edx
push ecx
push eax
call 0x10009943
add esp, 8
mov eax, dword [ebp + 8]
xor dword [ebp - 0x8c], ecx
mov edi, dword [ebp - 0x58]
and ebx, dword [ebp - 0x44]
and dword [ebp - 0x64], ebx
and dword [ebp - 0x68], edi
sub ecx, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x64]
or dword [ebp - 0x48], 0x54b
call fcn.100061ec
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100086e1
push edi
mov edi, dword [ebp + 8]
cmp edi, esi
je 0x10008746
cmp eax, 1
jne 0x10008682
cmp edi, 0x1000fd0e
ja 0x1000872b
push edi
call 0x1000934d
pop ecx
test eax, eax
mov edx, dword [ebp - 0x4c]
add dword [ebp - 0x50], edx
add edi, ecx
mov edi, 0xc
and eax, dword [ebp - 0x50]
mov dword [edx], edi
or esi, dword [ebp - 0x44]
and dword [ebp - 0x44], 0x493
push dword [ebp - 0x68]
call fcn.100063af
xor ebx, dword [ebp - 0x44]
add edx, dword [ebp - 0x8c]
call fcn.1000b8d9
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000874e
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
push edi
call dword [0x1000f024]
mov eax, ebx
cmp eax, 2
je 0x10008768
cmp eax, ebx
jne 0x10008771
call dword [0x1000f0c8]
mov esi, eax
cmp esi, ebx
je 0x10007d64
cmp byte [esi], bl
je 0x10008708
inc eax
cmp byte [eax], bl
jne 0x1000872e
inc eax
mov byte [ebp - 0x8c], 3
mov ecx, 1
and word [ebp - 0x48], 0xbea
cmp dword [ebp - 0x54], 0x11
jne 0x10008790
xor eax, eax
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
add ecx, eax
sub edx, eax
push edx
push 0
push ecx
call 0x1000b46b
add esp, 0xc
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
add dword [ebp - 0x68], ecx
xor dword [ebp - 0x8c], 0xfffffff2
mov byte [ebp - 0x50], 0x25
or word [ebp - 0x8c], 0x490
add eax, 0x569a
cmp dword [ebp - 0x68], 5
jbe 0x100087d3
lea edi, [eax + 0x7af]
mov edi, 0xda4e6f56
mov edi, edx
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x68], 4
xor eax, ebx
lea esi, [ebp - 0x74]
add dword [ebp - 0x54], 0
je 0x10008812
test eax, 0xff000000
je 0x1000877c
lea eax, [ecx - 1]
mov ecx, dword [esp + 4]
sub eax, ecx
lea eax, [ecx - 2]
mov ecx, dword [esp + 4]
sub eax, ecx
lea eax, [ecx - 3]
mov ecx, dword [esp + 4]
sub eax, ecx
lea eax, [ecx - 4]
mov ecx, dword [esp + 4]
sub eax, ecx
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push dword [ebp + 8]
push esi
or ecx, eax
push dword [ebp - 0x68]
sub ecx, dword [ebp - 0x50]
call fcn.100065f8
cmp dword [ebp - 0x54], 0x10
jne 0x1000884d
cmp dword [ebp - 0x5c], 1
je 0x10008871
mov eax, 4
add dword [ebp - 0x64], esi
sub dword [ebp - 0x74], eax
jne 0x10007e28
xor edi, ebx
mov edi, 0xea8514c8
mov edi, eax
add dword [ebp - 0x44], 0x32c
mov edx, dword [ebp - 0x68]
add dword [ebp - 0x88], 0xffffffd2
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x5c], 1
je 0x100088c0
push ebx
push esi
xor ebx, ebx
mov esi, edx
push edi
mov dword [ebp - 0x98], esi
cmp eax, ebx
je 0x10008924
cmp ecx, ebx
je 0x100088ac
push eax
call fcn.10008ebc
mov edx, dword [eax - 4]
mov dword [ebp - 0x68], edx
xor esi, ebx
lea edi, [ebp - 0x68]
and dword [ebp - 0x8c], edi
mov word [ebp - 0x8c], 0xd2a
push edi
lea eax, [ecx + edx + 0x90d]
xor dword [ebp - 0x88], ecx
push dword [ebp - 0x74]
lea ebx, [edi + 0x1b85]
call fcn.10006556
and eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x68]
and ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000893c
test byte [eax + 4], 0x66
jne 0x100097d7
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x18]
mov dword [ebx - 4], edx
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp ebx, 0xfffffffe
je 0x100088ab
lea ecx, [ecx]
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + eax*4 + 0x14]
lea eax, [esi + eax*4 + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [eax]
mov edx, dword [ebp - 0x68]
and eax, dword [ebp - 0x48]
mov edx, dword [edi]
mov dword [ebp - 0x68], edx
xor eax, edx
lea eax, [ebx + ecx*2 + 0x180e]
lea ebx, [ebp - 0x68]
cmp dword [ebp - 0x5c], 1
je 0x10008978
push ebx
sub edi, dword [ebp - 0x44]
push dword [ebp - 0x80]
and edx, dword [ebp - 0x44]
xor dword [ebp - 0x8c], 0x54
call fcn.100065f8
sub edi, eax
mov dword [ebp - 0x48], ebx
mov ecx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x60]
mov esi, ecx
xor ecx, dword [edx + 0x34]
mov dword [ebp - 0x68], ecx
xor dword [ebp - 0x48], 0x600
or ebx, ecx
mov ebx, eax
lea edx, [ebp - 0x84]
and esi, dword [ebp - 0x88]
xor word [ebp - 0x44], 0x675
push edx
sub ebx, esi
push dword [ebp - 0x74]
or word [ebp - 0x8c], 4
or esi, dword [ebp - 0x88]
call fcn.10006556
xor eax, edx
cmp dword [ebp - 0x5c], 0xffffffb1
jne 0x10008a09
pop ecx
pop ecx
test eax, eax
je 0x10008a5d
xor ecx, ecx
inc ecx
cmp dword [ebp - 4], ecx
jbe 0x10008982
lea eax, [esi + 1]
cmp byte [eax], bl
je 0x10008a4f
mov cl, byte [esi]
mov edx, dword [ebp + 8]
mov byte [edx], cl
mov edi, dword [ebp - 0x84]
and dword [ebp - 0x8c], 0x62
lea edx, [ebx - 0x24]
mov edx, edi
xor edi, dword [ebp - 0x48]
sub edx, 0x60
mov esi, dword [ebp - 0x68]
sub ecx, esi
mov dword [edx + 0x60], esi
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10008a5d
xor ebx, ebx
inc ebx
push 0x1000f401
mov dword [ebp - 0x10], ebx
call fcn.10007966
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10008051
push edi
lea edi, [eax + 4]
mov byte [edi], 0
mov dword [eax], ebx
mov dword [ebp - 8], ebx
lea ebx, [esi + 0x10]
and ecx, edx
xor eax, dword [ebp - 0x48]
lea edx, [ebp - 0x80]
push edx
call fcn.10006410
test dword [ebp - 0x54], 0
je 0x10008a9b
je 0x100089fd
xor ebx, ebx
test esi, esi
setg bl
lea ebx, [ebx + ebx - 1]
mov esi, ebx
test esi, esi
jne 0x10006dbd
movzx esi, byte [eax + 0x19]
movzx ebx, byte [ecx + 0x19]
sub esi, ebx
je 0x10008a8b
xor ebx, ebx
test esi, esi
cmp dword [ebp - 0x5c], 1
je 0x10008acf
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], ebx
cmp dword [esi + 0x14], ebx
je 0x1000833c
lea eax, [esi + 4]
cmp dword [eax], ebx
lea ecx, [ebp - 0x84]
push ecx
call fcn.10006410
cmp dword [ebp - 0x54], 0
je 0x10008b07
test eax, eax
je 0x10008aa1
push eax
call esi
add ebx, 0x10
dec dword [ebp + 8]
jne 0x10008b17
mov eax, dword [edi + 0xd4]
add eax, 0xb4
push eax
call esi
pop esi
pop ebx
mov eax, edi
pop edi
pop ebp
mov edi, edi
push esi
cmp dword [ebp - 0x54], 9
jne 0x10008b3d
call fcn.1000b268
pop ecx
mov dword [ebp - 4], 0xfffffffe
call 0x1000b432
cmp dword [ebp + 0x10], 0
jne 0x10008b02
mov dword [0x1000f924], ebx
push 8
call 0x10009610
pop ecx
lea eax, [ebp - 0x60]
push eax
call fcn.10006410
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10008b82
mov dword [ebx + 0xc], esi
cmp dword [ebp - 0x18], edx
jbe 0x100073e3
test cl, cl
je 0x1000832d
and ebx, esi
mov ebx, ecx
sub edx, esi
lea ebx, [ebp - 0x58]
push ebx
call fcn.10006410
add dword [ebp - 0x54], 0
je 0x10008bd0
push eax
call fcn.10009aad
mov dword [esp], 0x10013b30
push edi
sub ecx, esi
mov ecx, 0
cmp dword [ebp - 0x5c], 0xffffff98
jne 0x10009000
jne 0x100097d8
movzx esi, byte [eax - 0x12]
movzx edx, byte [ecx - 0x12]
sub esi, edx
je 0x1000904d
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10007710
movzx esi, byte [eax - 0x11]
movzx edx, byte [ecx - 0x11]
sub esi, edx
je 0x10008ffe
xor edx, edx
mov dword [esi], ecx
sub eax, dword [ebp - 0x88]
add edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
add dword [ebp - 0x64], edx
mov edi, dword [ebp - 0x7c]
cmp dword [ebp - 0x5c], 1
je 0x1000905c
call 0x1000b642
push 6
call fcn.10009a04
pop ecx
push 0xc
push 0x1000f27f
call 0x10009588
push 6
call 0x10007620
pop ecx
and dword [ebp - 4], 0
mov edi, dword [ebp + 8]
call 0x10009538
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xfffffffe
call fcn.10006c8f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x68], ecx
add edi, dword [ebp - 0x48]
or esi, ebx
mov esi, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 1
je 0x1000908e
test esi, esi
je 0x100090d8
mov eax, dword [ebp - 0x80]
and dword [ebp - 0x64], eax
or edx, ecx
add esi, dword [eax + 0x28]
mov dword [ebp - 0x68], esi
cmp dword [ebp - 0x54], 0xffffffde
jne 0x100090c8
je 0x10009106
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
mov esi, eax
mov eax, esi
xor eax, eax
test eax, eax
jne 0x1000a953
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
je 0x10009070
movzx esi, al
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 1
je 0x10009109
and dword [eax + edx*4 + 0xc4], ebx
dec byte [ecx]
jne 0x1000911e
mov ecx, dword [ebp + 8]
and dword [ecx + 4], ebx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 4]
mov dword [ecx + 4], ebx
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [ecx + 8], edi
mov ecx, dword [ebp + 0x10]
sub ecx, esi
add dword [ebp - 4], ecx
cmp dword [ebp - 4], 0
jle 0x1000ab40
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 0x60]
lea edx, [ebx + ecx*4 - 0x33]
mov dword [ebp - 0x50], edx
mov ebx, dword [eax]
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x5c], 0xa
jne 0x1000913d
push 0
push dword [0x1000f22d]
call edi
add esi, 0x14
inc ebx
cmp ebx, dword [0x1000fb1a]
jl 0x1000919d
pop esi
push dword [0x1000f27e]
push 0
mov dword [ebp - 0x78], esp
add esi, eax
mov esp, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x48]
and dword [ebp - 0x44], esi
mov ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 0x22
jne 0x1000917a
call ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
add edx, 0x367e
cmp dword [ebp - 0x54], 0x10000002
jne 0x100091ad
mov ebp, esp
push esi
push 4
call 0x10009f61
push dword [0x1000fb8c]
mov dword [ebp - 0x4c], esp
sub esi, dword [ebp - 0x50]
cmp dword [ebp - 0x54], 0x10000002
jne 0x100091e4
jne 0x100091c4
push 0
push dword [esi + 0xc]
lea eax, [ebp - 0x504]
push dword [esi + 4]
push eax
push edi
lea eax, [ebp - 0x104]
push eax
push 1
push 0
call 0x100069a2
mov esp, dword [ebp - 0x78]
and edx, dword [ebp - 0x64]
and esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x68]
xor ebx, eax
cmp dword [ebp - 0x5c], 1
je 0x10009210
invalid
mov eax, ebx
sub eax, edi
je 0x10009255
sub eax, 4
je 0x100091c2
sub eax, 9
je 0x100091dd
sub eax, 6
je 0x100091db
dec eax
jne 0x1000924c
mov edi, dword [ebp - 0x7c]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000924f
jne 0x10009284
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
and dword [ebx + 4], ecx
mov ebx, dword [ebp + 8]
cmp dword [ebp - 8], 0
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
mov dword [ecx + 4], edi
mov ecx, dword [edx + 4]
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
je 0x10007243
mov ecx, dword [ebp - 0xc]
lea ecx, [ecx + esi*8]
mov edi, dword [ecx + 4]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x68], edx
and dword [ebp - 0x44], 0x9f
add ebx, dword [ebp - 0x8c]
or word [ebp - 0x48], 0xa8a
mov ebx, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009286
push esi
push esi
mov esi, dword [ebp - 0x80]
and dword [ebp - 0x44], ebx
and word [ebp - 0x48], 0xe84
add ebx, dword [esi + 0x30]
mov dword [ebp - 0x68], ebx
xor dword [ebp - 0x44], 0x21
mov edi, dword [ebp - 0x68]
sub eax, edi
mov edx, dword [ebp - 0x68]
or word [ebp - 0x64], 0x650
xor dword [ebp - 0x48], esi
mov edx, dword [edi]
mov dword [ebp - 0x68], edx
add ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x68]
sub edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x68]
xor edx, ecx
mov edx, 0xb60edb39
mov edx, esi
mov esi, dword [eax]
mov dword [ebp - 0x68], esi
and ecx, edx
add edi, esi
lea edx, [ebp - 0x74]
cmp dword [ebp - 0x54], 0x1d
jne 0x10009303
je 0x100092df
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.1000b3bf
add esp, 0x14
push dword [ebx + 0x58]
mov eax, dword [ebp - 0xc]
push dword [eax]
call fcn.10006f87
pop ecx
pop ecx
test eax, eax
je 0x100092e8
push edx
and dword [ebp - 0x50], 0xffffffc1
push dword [ebp - 0x68]
add ecx, 0x3268
call fcn.100064a7
add dword [ebp - 0x50], 0xffffff81
add ebx, ecx
and word [ebp - 0x8c], 0x2eb
or dword [ebp - 0x44], 0x6c5
mov eax, 0xff
add edx, dword [ebp - 0x88]
lea esi, [ecx + edx*2 + 0xe12]
and dword [ebp - 0x68], eax
lea esi, [edi + 0x37]
xor eax, dword [ebp - 0x44]
cmp dword [ebp - 0x54], 0
je 0x10009376
je 0x10009331
movsx eax, al
push eax
test edx, edx
je 0x1000930b
call 0x10008460
pop ecx
test eax, eax
je 0x100093d7
mov al, byte [esi]
mov ecx, dword [ebp + 0xc]
inc dword [ebp + 0xc]
mov byte [ecx], al
inc esi
inc dword [edi]
mov ecx, dword [ebp + 0xc]
mov al, byte [esi]
inc dword [ebp + 0xc]
cmp dword [ebp - 0x68], 0x55
je 0x10009401
or dword [ebp - 0x44], 0xc1f
cmp dword [ebp - 0x5c], 1
je 0x100093b1
mov cl, byte [esi]
mov byte [edx], cl
inc edx
inc esi
cmp cl, bl
je 0x10009353
dec edi
jne 0x10009394
cmp edi, ebx
jne 0x100093ad
mov byte [eax], bl
call fcn.1000a83e
push 0x22
pop ecx
mov dword [eax], ecx
mov esi, ecx
xor eax, eax
cmp dword [ebp - 0x68], 0x8b
je 0x10009401
sub edx, dword [ebp - 0x48]
jmp 0x1000a424
sub esi, eax
je 0x1000944d
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x100070be
movzx esi, byte [ecx - 0x11]
movzx eax, byte [edx - 0x11]
sub esi, eax
je 0x100093fc
xor eax, eax
test esi, esi
setg al
sub ebx, dword [ebp - 0x88]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009432
cmp dword [0x1000f329], 0xffffffff
je 0x100093d9
cmp dword [ebp + 8], 0
jne 0x1000939f
push esi
push dword [0x1000fc44]
mov esi, dword [0x1000f65a]
call esi
test eax, eax
je 0x10009410
mov esi, 0xff0000
cmp dword [ebp - 0x5c], 1
je 0x10009461
je 0x1000949a
cmp dl, byte [ecx - 1]
jne 0x10009430
add dword [ebp - 4], 4
cmp dword [ebp - 4], edi
jb 0x100093df
movzx eax, byte [eax - 1]
movzx ecx, byte [ecx - 1]
movzx eax, byte [eax - 2]
movzx ecx, byte [ecx - 2]
movzx eax, byte [eax - 3]
and dword [ebp - 0x74], esi
and edx, dword [ebp - 0x8c]
add ecx, edx
cmp dword [ebp - 0x5c], 0x10000002
jne 0x100094a2
mov esi, edx
test esi, esi
jne 0x10007260
movzx esi, byte [eax - 0x15]
movzx edx, byte [ecx - 0x15]
sub esi, edx
je 0x10009417
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
xor esi, esi
test esi, esi
jne 0x10007321
sub dword [ebp - 0x4c], 4
add dword [ebp - 0x54], 0
je 0x100094c6
mov ecx, dword [ebp - 0x4c]
sub ebx, esi
or edi, edx
mov edi, 0x550000
add dword [ebp - 0x50], edx
and eax, esi
mov dword [ecx], edi
add ecx, dword [ebp - 0x88]
and ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x54], 0x10000002
jne 0x10009509
lea ecx, [ecx]
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov eax, dword [ebp + 8]
pop esi
pop edi
nop
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov al, byte [esi + 2]
lea ecx, [ebp - 0x58]
push ecx
call fcn.10006410
add edi, edx
sub ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x68], 0x8b
jne 0x10009c77
mov dword [ebp - 0x8c], edx
add edi, eax
mov ecx, dword [ebp - 0x58]
xor ebx, dword [ebp - 0x50]
cmp dword [ebp - 0x54], 0
je 0x1000956d
push 0x1000fe03
call fcn.10008c93
pop ecx
pop ecx
mov eax, dword [0x1000f46f]
cmp eax, 1
jne 0x10009514
mov eax, dword [ebp + 8]
test eax, eax
jne 0x10009566
inc eax
push eax
push 0
push dword [str.44r]
call dword [0x1000f0c0]
pop ebp
push esi
mov esi, dword [ebp + 8]
cmp eax, 3
cmp dword [ebp - 0x74], ecx
je 0x10009c77
xor ebx, esi
mov dword [ebp - 0x74], 1
test dword [ebp - 0x54], 0
je 0x100095ac
push ebp
mov ebp, esp
push 1
push 0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.1000855a
add esp, 0x10
pop ebp
mov edi, edi
push ebp
mov ebp, esp
push 1
push 0
push dword [ebp + 8]
push 0
mov dword [ebp - 0x84], 0x34
cmp dword [ebp - 0x54], 0
je 0x100095f1
call dword [0x1000f0cc]
push 0x1000fabc
call dword [0x1000f0d8]
cmp dword [0x1000fac0], 0
jne 0x100095bc
push 1
call 0x10009d62
pop ecx
push 0x1000fd8c
call dword [0x1000f0c8]
push eax
call dword [0x1000f0c0]
int3
add dword [ebp - 0x44], esi
xor dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x68]
xor dword [ebp - 0x88], 0xcb7
mov ecx, dword [ebp - 0x7c]
or edi, dword [ebp - 0x64]
cmp dword [ebp - 0x5c], 1
je 0x1000963e
push dword [0x1000f50f]
call fcn.10006ef8
mov edi, eax
push dword [0x1000f628]
call fcn.1000714e
add esp, 0xc
cmp dword [ebp - 0x1c], edi
jne 0x100096a6
cmp dword [ebp - 0x20], eax
je 0x1000967b
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], eax
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x68], esi
and esi, dword [ebp - 0x48]
push dword [ebp - 0x7c]
call fcn.100063af
lea esi, [ebx]
xor ebx, edx
lea ebx, [ebp - 0x7c]
or ecx, dword [ebp - 0x64]
push ebx
sub eax, dword [ebp - 0x64]
push dword [ebp - 0x4c]
add eax, dword [ebp - 0x44]
cmp dword [ebp - 0x54], 0x10000002
jne 0x10009695
je 0x10009638
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
xor esi, esi
test esi, esi
jne fcn.100081ab
mov edx, dword [eax - 0xf]
cmp edx, dword [ecx - 0xf]
je 0x10009616
movzx edx, byte [ecx - 0xf]
movzx esi, byte [eax - 0xf]
call fcn.100064a7
mov eax, edi
add ecx, dword [ebp - 0x64]
mov edx, 0x40
and edi, ebx
add dword [ebp - 0x64], 0xb4e
sub dword [ebp - 0x4c], edx
add word [ebp - 0x8c], 0xafb
add ecx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x68]
add esi, 0x9f2e
mov esi, edx
mov ebx, dword [ebp - 0x80]
mov edx, edi
add dword [ebp - 0x64], 0x742
add edi, dword [ebx + 0x1c]
mov dword [ebp - 0x68], edi
test dword [ebp - 0x54], 0
je 0x1000971e
push 0x1000f484
push edi
mov dword [0x1000f9f2], eax
call esi
push 0x1000fa05
push edi
mov dword [0x1000f867], eax
call esi
push 0x1000f73e
push edi
mov dword [0x1000f3a1], eax
call esi
cmp dword [0x1000fb08], 0
mov esi, dword [0x1000f585]
mov dword [0x1000f361], eax
mov dword [ebp - 0x88], 0x576
add ebx, edx
mov ecx, 0xc
and dword [ebp - 0x8c], 0x5a7
xor ebx, esi
sub dword [ebp - 0x68], ecx
add ecx, dword [ebp - 0x64]
lea edi, [ebp - 0x68]
add eax, 0x5fe6
push edi
test dword [ebp - 0x54], 0
je 0x10009772
push dword [ebp + 8]
call fcn.10009a04
pop ecx
pop ecx
pop ebp
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
call 0x10007e70
push dword [ebp - 0x84]
and dword [ebp - 0x8c], ecx
cmp dword [ebp - 0x5c], 0x3b
jne 0x100097b1
mov esp, dword [ebp - 0x18]
and dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x1c]
call 0x100095bc
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
xor eax, eax
push ebx
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
push ebx
pushfd
pop eax
call fcn.10006556
add dword [ebp - 0x48], edi
or esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x68]
mov byte [ebp - 0x8c], 0x9f
cmp dword [ebp - 0x5c], 0x44
jne 0x100097eb
test esi, esi
jne 0x10009761
push esi
push 0
push dword [str.u_t9o]
call dword [0x1000f070]
pop esi
pop ebp
mov edi, edi
push ebp
mov edx, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 1
je 0x1000981b
mov eax, dword [0x1000f1f1]
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, dword [str.3_vl__]
push esi
cmp dword [eax], edx
je 0x1000985d
mov esi, ecx
imul esi, esi, 0xc
add esi, dword [ebp + 8]
add eax, 0xc
cmp eax, esi
jb 0x100097a5
mov edx, dword [ecx]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x5c], 0xfffffff3
jne 0x1000983e
sub eax, edi
add eax, dword [ebp - 8]
push eax
push edi
call 0x1000afb2
add esp, 0x10
test eax, eax
je 0x1000988e
xor eax, eax
push eax
push eax
push eax
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009866
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, ecx
shr ecx, 2
mov ecx, edx
and ecx, 3
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x60]
add ecx, dword [ebp - 0x8c]
or dword [ebp - 0x60], edi
jne 0x100098b6
or ecx, ebx
cmp dword [ebp - 0x54], 0
je 0x10009894
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
add edi, esi
mov ecx, dword [ebp - 0x60]
and edx, ecx
mov ebx, dword [ebp - 0x68]
and eax, ecx
xor edx, dword [ebp - 0x50]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x60], ecx
add edi, 0x3dba
lea edi, [eax + ebx*8 + 0xf70]
mov dword [ebp - 0x78], esp
cmp dword [ebp - 0x5c], 1
je 0x100098de
mov eax, edi
add eax, edi
cmp eax, edi
jb 0x10009884
mov esp, dword [ebp - 0x4c]
add eax, 0x72c4
mov ecx, dword [ebp - 0x60]
xor word [ebp - 0x88], 0x12b
and esi, dword [ebp - 0x8c]
call ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
or ecx, dword [ebp - 0x64]
mov dword [ebp - 0x4c], esp
cmp dword [ebp - 0x5c], 1
je 0x10009931
mov edx, dword [ebp + 0xc]
mov dword [ecx], 1
cmp dword [ebp + 8], eax
je 0x100098f3
mov ebx, dword [ebp + 8]
add dword [ebp + 8], 4
mov dword [ebx], edx
mov dword [ebp - 4], eax
cmp byte [esi], 0x22
jne 0x1000992c
xor eax, eax
cmp dword [ebp - 4], eax
mov esp, dword [ebp - 0x78]
or dword [ebp - 0x8c], esi
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x54], 0
je 0x1000996d
mov eax, dword [0x1000f140]
test eax, eax
je 0x10008fb0
mov ecx, dword [0x1000fbbf]
push 0x1000f991
shl ecx, 0xf
add ecx, dword [eax + 0xc]
push 0x1000f176
push ecx
call dword [str.t__bV]
mov dword [ebp - 0x4c], esi
xor ecx, eax
sub eax, dword [ebp - 0x64]
add edx, dword [ebp - 0x64]
lea edi, [ebp - 0x7c]
push edi
call fcn.10006410
cmp dword [ebp - 0x54], 0xffffffe5
jne 0x100099a2
xor ecx, ecx
test eax, eax
setg cl
lea ecx, [ecx + ecx - 1]
mov eax, ecx
mov ax, word [esi]
cmp ax, word [ecx]
je 0x10009a19
movzx edx, byte [ecx]
movzx eax, al
add dword [ebp - 0x84], 4
or ebx, dword [ebp - 0x88]
and dword [ebp - 0x64], eax
sub dword [ebp - 0x74], 1
jne 0x100095f1
add dword [ebp - 0x48], ecx
xor dword [ebp - 0x88], esi
add word [ebp - 0x48], 0xdff
mov edi, dword [ebp - 0x68]
add esi, 0xbee7
mov esi, 0x4e2aae21
mov esi, edx
mov eax, dword [ebp - 0x7c]
and dword [ebp - 0x48], 0xb18
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x48], 0x861
lea ebx, [esi - 0x13]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009a2b
and dword [ebp - 0x328], 0
push ebx
push 0x4c
lea eax, [ebp - 0x324]
push 0
mov esi, dword [ebp - 0x68]
add eax, dword [ebp - 0x64]
xor edi, dword [ebp - 0x64]
pushfd
mov ebx, dword [ebp - 0x80]
or dword [ebp - 0x64], 0xfa5
add esi, dword [ebx + 0x24]
mov dword [ebp - 0x68], esi
or dword [ebp - 0x44], ecx
test dword [ebp - 0x54], 0
je 0x10009a7b
push dword [esi + 0x40]
call 0x10009943
push dword [esi + 0x44]
mov ecx, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 1
je 0x10009a99
push ebx
push ebx
push edi
push dword [ebp - 0xc]
push dword [ebp + 0xc]
push dword [ebp + 8]
call esi
mov ecx, eax
mov dword [ebp - 8], ecx
cmp ecx, ebx
mov ebx, dword [ebp - 0x60]
or edx, dword [ebp - 0x50]
mov ebx, dword [ecx]
mov dword [ebp - 0x60], ebx
and dword [ebp - 0x48], edx
cmp dword [ebp - 0x54], 0x3c
jne 0x10009ac5
push ebx
call fcn.1000623f
or edi, dword [ebp - 0x48]
cmp dword [ebp - 0x5c], 1
je 0x10009af8
cmp ebx, edi
jne fcn.10009b46
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x10009a70
mov dword [eax], 0xc
mov eax, ebx
call 0x10008671
push 0x10
push 0x1000fdb4
call 0x1000b029
mov esi, dword [ebp - 0x4c]
cmp dword [ebp - 0x54], 0x67
jne 0x10009b2a
add edi, 0x11d6
mov edi, 0
add ecx, dword [ebp - 0x48]
mov dword [esi], edi
add word [ebp - 0x44], 0x58d
cmp dword [ebp - 0x54], 0x31
jne 0x10009b7f
mov dword [esi + 0xa8], eax
mov dword [ebp - 0x78], esp
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009bc1
push 8
push 0x1000fb5d
call fcn.10007b56
push 6
call 0x10008337
pop ecx
and dword [ebp - 4], 0
call 0x100071ae
mov dword [ebp - 4], 0xfffffffe
call fcn.10009b01
call 0x10008766
push 6
call 0x10009410
pop ecx
mov esp, dword [ebp - 0x4c]
xor dword [ebp - 0x44], edi
mov ebx, dword [ebp - 0x60]
add dword [ebp - 0x88], ebx
call ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
sub ebx, dword [ebp - 0x50]
cmp dword [ebp - 0x5c], 1
je 0x10009c17
sub esi, eax
je 0x10009b79
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x1000a760
movzx esi, byte [ecx - 0x16]
movzx eax, byte [edx - 0x16]
sub esi, eax
je 0x10009c0f
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x1000789c
mov dword [ebp - 0x4c], esp
cmp dword [ebp - 0x54], 0xffffffdd
jne 0x10009c70
mov ecx, dword [ecx - 4]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x328], 0xc0000417
mov dword [ebp - 0x324], 1
mov dword [ebp - 0x31c], eax
call dword [0x1000f058]
push 0
mov ebx, eax
call dword [0x1000f0a0]
lea eax, [ebp - 0x2d8]
push eax
call dword [0x1000f05c]
test eax, eax
jne 0x10009c60
test ebx, ebx
jne 0x10009c08
push 2
call 0x100083e4
pop ecx
mov esp, dword [ebp - 0x78]
and dword [ebp - 0x64], 0x7b
cmp dword [ebp - 0x5c], 1
je 0x10009c97
adc byte [esp + esi*2], al
add byte [eax], dl
or al, 0x74
add byte [eax], dl
adc al, 0x74
add byte [eax], dl
daa
je 0x10009c66
adc byte [ebx - 0x76e371bc], cl
inc esp
invalid
sub dword [ebp - 0x4c], 4
add ecx, dword [ebp - 0x50]
lea ebx, [edi + 0x8b0]
mov esi, dword [ebp - 0x4c]
or edx, dword [ebp - 0x8c]
add edx, ecx
mov edx, 0x6c6c64
or dword [ebp - 0x44], 0xb5e
mov dword [esi], edx
cmp dword [ebp - 0x54], 0x10000002
jne 0x10009cf3
xor ecx, ecx
test eax, eax
sete cl
pop ebx
mov eax, ecx
pop ebp
or dword [esi + 0x33], 0x1000fc
call dword [0x1000f018]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1000f66c]
xor eax, ebp
lea edx, [ebx]
sub dword [ebp - 0x4c], 4
test dword [ebp - 0x54], 0
je 0x10009d2a
movdqa xmmword [edi + 0x50], xmm5
movdqa xmmword [edi + 0x60], xmm6
movdqa xmmword [edi + 0x70], xmm7
lea esi, [esi + 0x80]
lea edi, [edi + 0x80]
dec ecx
jne 0x10009d71
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
push ebp
mov esi, dword [ebp - 0x4c]
lea eax, [eax - 0x52]
mov eax, 0x6e2f98d3
mov eax, esi
mov ecx, ebx
mov ecx, 0x2e32336c
lea eax, [ecx + edx + 0x7b2]
mov dword [esi], ecx
mov ebx, ecx
and esi, ecx
sub edx, dword [ebp - 0x64]
call fcn.100061ec
or ebx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x4c]
cmp dword [ebp - 0x54], 0
je 0x10009d85
sub esi, edx
je 0x10009d17
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x100072b9
movzx esi, byte [eax - 9]
movzx edx, byte [ecx - 9]
sub esi, edx
lea eax, [edi]
mov eax, 0x6c656873
add dword [ebp - 0x54], 0
je 0x10009de1
mov dword [edx], eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ecx - 4], ecx
push edi
call fcn.1000623f
cmp dword [ebp - 0x5c], 1
je 0x10009e14
pop ecx
test eax, eax
je 0x10009e1b
cmp dword [ebx], 1
jbe 0x10009e4f
lea eax, [edi + 1]
cmp byte [eax], 0
je 0x1000baf4
mov dl, byte [edi]
mov ecx, dword [esi]
mov byte [ecx], dl
mov esi, ecx
add edx, esi
mov edi, dword [ebp - 0x68]
sub esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x7c]
add eax, 0x3907
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x68], edi
add dword [ebp - 0x54], 0
je 0x10009e67
sub esi, 2
sub edi, 2
cmp ecx, 8
jb 0x10009ebd
std
cld
nop
mov al, byte [esi + 3]
and edx, ecx
mov byte [edi + 3], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov al, byte [esi + 1]
shr ecx, 2
mov byte [edi + 1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb 0x10007787
or dword [ebp - 0x48], 0xffffffd9
lea edx, [ecx + esi - 0x75]
mov edi, dword [ebp - 0x68]
sub ecx, ebx
mov eax, dword [ebp - 0x80]
add ebx, edi
add edi, dword [eax + 0x28]
mov dword [ebp - 0x68], edi
mov edx, eax
or word [ebp - 0x50], 0x4f2
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x64], edi
mov edx, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 0xffffffa9
jne 0x10009ec4
call 0x10009be1
pop ecx
cmp eax, edi
jbe 0x10009efd
mov eax, dword [esi]
cmp byte [eax + edi], 0x3d
jne 0x10009f21
push edi
push dword [ebp + 8]
push eax
call 0x10008460
add esp, 0xc
test eax, eax
je 0x10009f3e
add esi, 4
mov eax, dword [esi]
mov edx, dword [ecx]
mov dword [ebp - 0x60], edx
sub ebx, dword [ebp - 0x48]
or dword [ebp - 0x48], edi
mov dword [ebp - 0x78], esp
lea eax, [ecx - 0x19]
or ebx, edi
mov esp, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], 0x2a
jne 0x10009f15
push eax
push eax
push eax
call 0x100095bc
add esp, 0x14
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x194]
add eax, 4
mov dword [ebx + 0x48], eax
movzx eax, word [ebp - 0x1b0]
mov dword [ecx], eax
push 6
lea eax, [ebp - 0x1b0]
push eax
push dword [ebp - 0x19c]
mov ebx, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10009f50
test eax, eax
je 0x10009f40
add byte [eax], dl
test eax, eax
invalid
je 0x10009ee2
mov dword [ebp - 0x20], ebx
mov ebx, dword [0x1000f8b1]
cmp dword [ebp - 0x2c], edi
call ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x54], 0x10000002
jne 0x10009f8b
mov edi, edi
push ebp
mov ebp, esp
push dword [ebp + 0xc]
push 0x1000f924
push dword [ebp + 8]
call 0x1000a08f
add esp, 0xc
test eax, eax
jne 0x10009fc0
cmp word [ebp + 8], 0x5f
je 0x10009f8e
pop ebp
xor eax, eax
inc eax
pop ebp
mov edi, edi
mov dword [ebp - 0x4c], esp
sub edx, dword [ebp - 0x64]
and eax, dword [ebp - 0x48]
mov esp, dword [ebp - 0x78]
cmp dword [ebp - 0x54], 0
je 0x10009fd8
push 0x20
push dword [ebp + 8]
call 0x1000990d
add esp, 0xc
mov eax, dword [eax + 0xc8]
mov ecx, dword [ebp + 8]
movzx eax, word [eax + ecx*2]
and eax, 0x20
cmp byte [ebp - 4], 0
je 0x10009f84
mov ecx, dword [ebp - 8]
and dword [ecx + 0x70], 0xfffffffd
mov edi, edi
push ebp
mov ebp, esp
cmp dword [0x1000f86e], 0
jne 0x1000a012
mov eax, dword [ebp + 8]
add dword [ebp - 0x4c], 0xc
add dword [ebp - 0x54], 0
je 0x1000a004
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x10006a03
movzx esi, byte [ecx + 9]
movzx eax, byte [edx + 9]
sub esi, eax
je 0x10009f87
xor eax, eax
lea ecx, [ebp - 0x84]
cmp dword [ebp - 0x54], 0
je 0x1000a02b
push esi
call 0x1000777e
add esp, 0x14
xor eax, eax
mov edi, 0x1000f56c
push edi
push dword [ebp + 8]
call 0x1000871c
push ecx
test dword [ebp - 0x54], 0
je 0x1000a060
mov dword [0x1000f490], edi
push 0x1000f3ef
call 0x100087dc
pop ecx
mov esi, eax
mov dword [ebp - 0x3c], esi
cmp esi, ebx
je 0x1000a011
push dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 0xffffff8b
jne 0x1000a082
xor eax, eax
test eax, eax
jne 0x1000a01b
xor eax, eax
pop edi
pop esi
mov eax, dword [ecx - 0x1d]
cmp eax, dword [edx - 0x1d]
je 0x1000a044
movzx esi, al
movzx eax, byte [edx - 0x1d]
call fcn.100064a7
sub eax, ecx
cmp dword [ebp - 0x5c], 0x15
jne 0x1000a0b1
mov edi, eax
lea eax, [ebx + 0x10]
push eax
push 0x14
push esi
lea eax, [ebp - 0x10]
push 1
push eax
call 0x10009943
or edi, eax
lea eax, [ebx + 0x14]
push eax
push 0x16
push esi
lea eax, [ebp - 0x10]
push 1
lea ebx, [ebp - 0x74]
or ecx, ebx
cmp dword [ebp - 0x54], 0
je 0x1000a0d2
pop edi
pop esi
pop ebx
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x1000fca4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push ebx
test dword [ebp - 0x54], 0
je 0x1000a104
push dword [ebp - 0x74]
add esi, dword [ebp - 0x88]
call fcn.10006659
sub ecx, dword [ebp - 0x8c]
and esi, edi
mov esi, eax
add dword [ebp - 0x8c], ebx
xor edx, ecx
sub dword [ebp - 0x4c], 4
and eax, edx
add dword [ebp - 0x8c], ecx
mov ebx, dword [ebp - 0x4c]
sub ecx, esi
xor edx, edi
mov edx, 0x3d
xor esi, eax
add edi, dword [ebp - 0x44]
mov dword [ebx], edx
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000a16b
push dword [ebp - 0x84]
call fcn.100063af
cmp dword [ebp - 0x5c], 1
je 0x1000a1a5
xor eax, eax
test eax, eax
jne 0x100095a3
movzx esi, byte [ecx - 3]
movzx eax, byte [edx - 3]
sub esi, eax
je 0x1000a180
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x1000b04a
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000a1de
push ebx
push ebx
push ebx
call 0x10009d62
add esp, 0x14
cmp dword [ebp - 0x88], ebx
je 0x1000a23d
push edi
call 0x10008337
pop ecx
xor eax, eax
cmp dword [ebp + 0xc], ebx
jne 0x1000a234
push ebx
push 4
mov edi, 0x1000fbe3
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x68]
and esi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x7c]
xor dword [ebp - 0x44], edx
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000a218
cmp dword [ebp - 0x54], 0
je 0x1000a248
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor esi, esi
xor edi, edi
mov dword [ebp - 4], edi
cmp ebx, dword [edi*8 + 0x10015910]
je 0x1000a284
inc edi
mov dword [ebp - 4], edi
cmp edi, 0x17
jb 0x1000a1f0
cmp edi, 0x17
jae 0x1000654d
mov esi, dword [ebp - 0x68]
add edx, edi
cmp dword [ebp - 0x5c], 0xb
jne 0x1000a28b
call fcn.10007f53
push dword [esi + 0x9c]
call fcn.1000855a
push dword [esi + 0xa0]
call fcn.1000837a
push dword [esi + 0xa4]
call fcn.1000ae13
push dword [esi + 0xa8]
call 0x10006e1e
add esp, 0x2c
pop esi
pop ebp
mov edi, edi
mov edx, dword [ebp - 0x80]
or ecx, edi
mov ecx, 0x59194598
mov ecx, edi
add dword [ebp - 0x88], 0xc74
add esi, dword [edx + 0x2c]
mov dword [ebp - 0x68], esi
add edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x68]
and edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x48]
aad 0x25
lodsd eax, dword [esi]
add bh, bh
loopne 0x1000a289
ret
mov dword [ebp - 0x74], 2
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x84], 0x10
mov dword [ebp - 0x48], eax
sub ecx, dword [ebp - 0x48]
and eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x68]
cmp dword [ebp - 0x5c], 1
je 0x1000a475
mov edx, dword [ebp - 0x7c]
xor dword [ebp - 0x64], 0x497
mov esi, dword [edx + 0xc]
mov dword [ebp - 0x68], esi
mov word [ebp - 0x48], 0xd1
test dword [ebp - 0x54], 0
je 0x1000a4ce
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x100094d2
push dword [ebp - 0x7c]
call fcn.100063af
test dword [ebp - 0x54], 0
je 0x1000a4fa
je 0x1000a70b
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x10006f9b
movzx esi, byte [ecx + 7]
movzx eax, byte [edx + 7]
sub esi, eax
mov eax, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x8c]
add dword [ebp - 0x54], 0
je 0x1000a748
push dword [ebp - 4]
call eax
xor eax, eax
pop edi
pop esi
pop ebx
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push esi
xor esi, esi
call eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x5c], 1
je 0x1000a775
jb 0x1000a712
xor eax, eax
pop edi
pop esi
pop ebx
mov edi, edi
push ebp
mov ebp, esp
cmp dword [ebp + 0x14], 0xa
mov eax, dword [ebp + 8]
jne 0x1000a795
test eax, eax
jge 0x1000a705
push 1
push 0xa
push 0
mov dword [ebp - 0x4c], esp
add dword [ebp - 0x54], 0
je 0x1000a7aa
push esi
call 0x10009f9d
pop ecx
xor esi, esi
push edi
call dword [0x1000f068]
pop edi
mov eax, esi
pop esi
mov edi, edi
push esi
call fcn.1000b92f
mov esi, eax
test esi, esi
jne 0x1000a75d
push 0x10
call fcn.10008bd6
pop ecx
mov eax, esi
mov esp, dword [ebp - 0x78]
and ebx, edi
mov ecx, dword [ebp - 0x7c]
xor edi, eax
mov dword [ebp - 0x4c], ecx
test dword [ebp - 0x54], 0
je 0x1000a7f1
mov esi, edx
test esi, esi
jne 0x10009227
movzx esi, byte [eax - 0x18]
movzx edx, byte [ecx - 0x18]
sub esi, edx
mov ecx, ebx
lea edi, [ebp - 0x7c]
push edi
call fcn.10006410
add dword [ebp - 0x50], esi
and dword [ebp - 0x8c], esi
add ecx, esi
mov esi, 4
and eax, dword [ebp - 0x50]
add ebx, edx
add dword [ebp - 0x84], esi
sub ebx, dword [ebp - 0x88]
add dword [ebp - 0x54], 0
je 0x1000a834
cmp eax, 0xffffffff
jne 0x1000a830
mov eax, edi
pop edi
pop esi
pop ebp
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
and dword [ebp - 0x44], 0
cmp dword [ebp - 0x5c], 1
je 0x1000a863
mov eax, 1
or edx, ecx
mov edx, ecx
xor dword [ebp - 0x8c], 0xefb
sub dword [ebp - 0x74], eax
jne 0x1000a43b
add edx, dword [ebp - 0x88]
cmp dword [ebp - 0x5c], 1
je 0x1000a8b9
add eax, esi
add dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x68]
lea ebx, [edx + 0xdee]
mov edi, dword [ebp - 0x7c]
and ebx, eax
sub ecx, dword [ebp - 0x64]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x68], eax
or dword [ebp - 0x88], 0x35
sub ebx, dword [ebp - 0x8c]
mov eax, ebx
xor edx, edi
mov ebx, dword [ebp - 0x68]
lea esi, [eax + esi*4 + 0x86b]
mov edx, dword [ebp - 0x80]
mov ecx, esi
add ebx, dword [edx + 0x24]
mov dword [ebp - 0x68], ebx
or dword [ebp - 0x48], 0x189
cmp dword [ebp - 0x5c], 1
je 0x1000a93a
je 0x1000a8e7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10015c14]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10015be0]
cmp esi, eax
jle 0x1000a91f
sub esi, 7
and eax, 0x80000003
jns 0x1000a8bb
dec eax
or eax, 0xfffffffc
inc eax
jne 0x1000a9b2
mov eax, edi
push 0x64
cdq
pop ebx
mov esi, dword [ebp - 0x68]
or dword [ebp - 0x48], esi
sub ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 1
je 0x1000a97d
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10008b6a
movzx esi, byte [eax - 0x16]
movzx edx, byte [ecx - 0x16]
sub esi, edx
je 0x1000a932
mov edx, dword [esi]
mov dword [ebp - 0x60], edx
sub ebx, dword [ebp - 0x50]
xor dword [ebp - 0x50], esi
and edi, esi
push edi
call fcn.1000623f
and edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x4c]
and dword [ebp - 0x50], edi
sub ebx, eax
mov ebx, 0
cmp dword [ebp - 0x5c], 1
je 0x1000a9d6
invalid
mov dword [edi], ebx
mov byte [ebp - 0x88], 0x8f
mov dword [ebp - 0x78], esp
or ecx, edx
sub esi, dword [ebp - 0x64]
mov esp, dword [ebp - 0x4c]
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000aa1a
call 0x10008908
lea edi, [edi + eax + 1]
mov eax, dword [ebp - 4]
mov dword [eax], edi
mov eax, dword [ebp - 0xc]
push dword [eax + 0x30]
mov eax, ebx
sub eax, edi
add eax, dword [ebp - 8]
push eax
push edi
call 0x100084ad
add esp, 0x10
test eax, eax
mov ecx, dword [ebp - 0x60]
add dword [ebp - 0x88], 0x903
call ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x4c], esp
add ecx, dword [ebp - 0x48]
add ecx, edi
mov esp, dword [ebp - 0x78]
xor dword [ebp - 0x64], ecx
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000aa66
sub dword [ebp - 0x4c], 4
and eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x4c]
and edi, ebx
sub ebx, esi
add ebx, edx
mov ebx, 0xd3
and edx, dword [ebp - 0x64]
mov dword [ecx], ebx
cmp dword [ebp - 0x5c], 1
je 0x1000aa94
int3
push dword [ebp - 0x84]
call fcn.100063af
sub esi, dword [ebp - 0x88]
add dword [ebp - 0x54], 0
je 0x1000aaf2
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2d0]
push 0
mov dword [ebp - 0x328], 0x40000015
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x2d4], eax
call dword [0x1000f0cc]
lea eax, [ebp - 0x2d8]
push eax
call dword [section..rdata]
push 3
call 0x100098bf
int3
and edi, esi
mov eax, dword [ebp - 0x68]
sub edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x5c], 0xffffff9d
jne 0x1000ab2e
call fcn.10007b25
or edi, eax
lea eax, [ebx + 0x2c]
push eax
push 0x56
push esi
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.10007b80
add esp, 0x50
or edi, eax
lea eax, [ebx + 0x2d]
push eax
push 0x57
push esi
lea eax, [ebp - 0x10]
push 0
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x68], eax
add eax, edx
cmp dword [ebp - 0x54], 0x15
jne 0x1000ab73
lea eax, [eax + eax - 1]
test eax, eax
jne 0x10009ee0
movzx esi, byte [ecx - 0x16]
movzx eax, byte [edx - 0x16]
sub esi, eax
je 0x1000abb8
xor eax, eax
test esi, esi
setg al
lea eax, [eax + eax - 1]
test eax, eax
jne 0x10006f4e
cmp dword [ebp - 0x5c], 1
je 0x1000ab9c
mov word [ebp - 0x14], ax
push ebx
xor eax, eax
push edi
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x20]
push eax
push ebx
push dword [esi + 0xac]
mov dword [ebp - 0xc], ecx
mov word [ebp - 0x16], dx
call ecx
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x68]
test dword [ebp - 0x54], 0
je 0x1000abd9
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1000fb6c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
call 0x1000b5bb
mov edi, eax
xor esi, esi
mov dword [ebp + 8], edi
cmp edi, esi
jne 0x1000ab81
mov eax, dword [ebp - 0x80]
or ecx, dword [ebp - 0x88]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000ac0b
push dword [ebx + esi + 0x1c]
call 0x1000ae53
push dword [ebx + esi]
mov dword [ebp - 0x14], eax
call fcn.10007bcf
add eax, edi
inc dword [ebp - 4]
cmp dword [ebp - 4], 7
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
lea edi, [eax + ecx + 2]
jb 0x1000ae59
test dword [ebp - 0x54], 0
je 0x1000ae74
call 0x1000921c
push esi
call fcn.10007f53
pop ecx
call fcn.1000a035
mov esi, dword [ebp + 8]
push 0xd
call 0x10008405
pop ecx
mov esi, dword [ebp + 8]
push 0xc
cmp dword [ebp - 0x74], 5
jne 0x1000aec9
mov byte [ebp - 0x50], 0x8b
cmp dword [ebp - 0x54], 0x7e
jne 0x1000aeb6
add dword [ebp - 0x68], 0x18
mov dword [ebp - 0x88], esi
xor word [ebp - 0x64], 0xe4c
mov dword [ebp - 0x78], esp
xor edi, dword [ebp - 0x44]
mov dword [ebp - 0x64], edi
mov esp, dword [ebp - 0x4c]
lea ebx, [eax + 0x6a]
cmp dword [ebp - 0x54], 0x10000002
jne 0x1000af0b
lea eax, [esi + 0xa4]
push eax
push 0x20
push dword [ebp - 8]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.10007a56
or edi, eax
lea eax, [esi + 0xa8]
push eax
push 0x1000fd87
push dword [ebp - 8]
lea eax, [ebp - 0x10]
mov edi, dword [ebp - 0x68]
lea ebx, [ecx + 0x3ec]
cmp dword [ebp - 0x54], 0
je 0x1000af50
call edi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
xor dword [ebp - 0x50], 0xfd7
mov dword [ebp - 0x4c], esp
and dword [ebp - 0x8c], ecx
mov esp, dword [ebp - 0x78]
or dword [ebp - 0x44], 0xcfc
add edx, 0x7e5
add edx, 0xe86d
cmp dword [ebp - 0x54], 0
je 0x1000afa8
sub dword [ebp - 0x4c], 4
add dword [ebp - 0x54], 0
je 0x1000afda
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
call fcn.1000a4df
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0xac], 1
jle 0x1000b03f
lea eax, [ebp - 0x10]
push eax
push 8
push dword [ebp + 8]
mov edi, dword [ebp - 0x4c]
mov byte [ebp - 0x48], 0x4d
add edx, 0x487c
mov edx, 0x2ab
sub ebx, dword [ebp - 0x8c]
or eax, dword [ebp - 0x48]
mov dword [edi], edx
add edi, ecx
push dword [ebp - 0x84]
call fcn.100063af
sub esi, ebx
sub edx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
sub edi, ebx
mov ebx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x50]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x68], edx
add ecx, dword [ebp - 0x88]
or dword [ebp - 0x44], ebx
cmp dword [ebp - 0x54], 0
je 0x1000b054
lea ecx, [ecx + ecx - 1]
mov eax, ecx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [esi]
sub eax, edx
je 0x1000b04c
xor edx, edx
test eax, eax
setg dl
lea edx, [edx + edx - 1]
mov eax, edx
test eax, eax
jne 0x1000b0c3
movzx eax, byte [ecx + 1]
mov edx, dword [ebp - 0x68]
or eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x80]
test dword [ebp - 0x54], 0
je 0x1000b0a1
push ebx
call fcn.10007a56
add esp, 0x14
mov eax, dword [edi + 4]
mov byte [eax], bl
mov esi, dword [ebp - 0x1c]
call fcn.100076e8
mov dword [eax], esi
mov esi, dword [ebp - 0x24]
call fcn.1000b1b8
mov dword [eax], esi
call fcn.10007474
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
and dword [ebp - 4], 0
cmp dword [ebp + 0xc], 1
push ebx
add edx, dword [ecx + 0x2c]
mov dword [ebp - 0x68], edx
add dword [ebp - 0x54], 0
je 0x1000b0e6
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x1000b65b
movzx esi, byte [eax - 0x14]
movzx edx, byte [ecx - 0x14]
sub esi, edx
je 0x1000b13c
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10008afc
movzx esi, byte [eax - 0x13]
movzx edx, byte [ecx - 0x13]
sub esi, edx
mov esi, dword [ebp - 0x68]
sub eax, dword [ebp - 0x64]
cmp dword [ebp - 0x5c], 0x10000002
jne 0x1000b122
je 0x1000b0c5
movzx esi, byte [eax + 4]
movzx ebx, byte [ecx + 4]
sub esi, ebx
je 0x1000b0b5
xor ebx, ebx
test esi, esi
setg bl
lea ebx, [ebx + ebx - 1]
mov esi, ebx
test esi, esi
jne 0x1000a06d
movzx esi, byte [eax + 5]
movzx ebx, byte [ecx + 5]
sub esi, ebx
mov ecx, dword [ebp - 0x60]
lea edi, [eax + 0x26]
mov ecx, dword [esi]
mov dword [ebp - 0x60], ecx
add edx, 0x6626
mov dword [ebp - 0x78], esp
cmp dword [ebp - 0x5c], 0x7a
jne 0x1000b16f
mov esi, edx
test esi, esi
jne 0x1000ab1f
movzx esi, byte [eax - 0x1e]
movzx edx, byte [ecx - 0x1e]
sub esi, edx
je 0x1000b150
xor edx, edx
test esi, esi
setg dl
lea edx, [edx + edx - 1]
mov esi, edx
test esi, esi
jne 0x10009aee
movzx esi, byte [eax - 0x1d]
movzx edx, byte [ecx - 0x1d]
mov esp, dword [ebp - 0x4c]
xor dword [ebp - 0x88], 0x544
mov esi, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], 0x3c
jne 0x1000b19e
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
cmp dword [0x1000f469], ebx
jne 0x1000b1f7
push ebx
push ebx
xor edi, edi
inc edi
call esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x4c], esp
test dword [ebp - 0x54], 0
je 0x1000b1d8
mov esp, dword [ebp - 0x78]
or dword [ebp - 0x64], eax
cmp dword [ebp - 0x5c], 0xffffffcb
jne 0x1000b208
push ebp
mov ebp, esp
push 0
push 0
push dword [ebp + 8]
call fcn.10008e83
add esp, 0xc
pop ebp
mov edi, edi
push ebp
mov ebp, esp
push 0
push 1
push dword [ebp + 8]
call 0x100090d1
mov dword [ebp - 0x88], 0x7e8
mov ecx, dword [ebp - 0x68]
or ebx, dword [ebp - 0x48]
or dword [ebp - 0x68], ecx
jne 0x1000b33a
add dword [ebp - 0x54], 0
je 0x1000b259
add esi, edi
invalid
invalid