Function at 0x1000ae5d
Capabilities:
Authenticate hmac
Check os version
Encrypt data using speck
Get number of processors
Resolve function by parsing pe exports

Disassembly:
lea eax, [edx + edx*2]
lea ecx, [ecx + eax*8]
movsx eax, word [ebp + 8]
movsx edi, word [ecx + 4]
cdq
idiv edi
movsx ecx, word [ecx + 6]
mov word [ebp + 8], ax
movsx eax, word [ebp + 0xa]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
mov word [ebp + 0xa], ax
mov word [ebp + 8], 1
mov ax, word [ebp + 8]
jmp 0x10008208
push ecx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi]
cmp dword [edi + 0xb0], esi
jne 0x100056ca
test word [edi + 0x140], 0x101
jne 0x1000644c
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.10005cb1
test eax, eax
je 0x100042c2
test byte [esi + 0x141], 2
jne 0x100042b8
xor ecx, ecx
cmp word [ebx + 0x26], cx
jle 0x100042b8
xor eax, eax
mov ax, word [edx + 0x24]
dec ax
mov word [ebp - 0x20], ax
mov ax, word [edx + 0x26]
dec ax
mov eax, 1
ret 0xc
cmp ecx, dword [ebp - 0x868]
je 0x10004563
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
push ecx
push 0
push dword [eax + 0x18]
call dword [0x1000d140]
inc esi
cmp esi, dword [edi + 0x30]
jb 0x100045d7
cmp dword [ebp - 0x864], 0
mov eax, dword [ebp - 0x870]
pop edi
pop esi
pop ebx
je 0x100045c9
or dword [eax + 0x10], 0x40
mov ecx, dword [ebp - 0x844]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x840]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x74]
mov eax, dword [esi]
test eax, eax
je 0x1000461e
lea ecx, [ebp + 8]
push ecx
push eax
call 0x10009b93
test eax, eax
jl 0x1000459e
push 0
push dword [edi]
push ebp
mov ebp, esp
sub esp, 0x88
mov dword [ebp - 0x30], 0
mov ecx, dword [ebp + 0xc]
call fcn.10004000
mov esi, edi
cmp dword [ebp - 0x28], 0x10000002
jne 0x10004638
cmp dword [ebp + 8], ebx
jl 0x10009ad2
push dword [edi + 0x24]
push ebx
push 0x1000df56
push 0xffffffffffffffff
call dword [0x1000d11c]
mov esi, dword [0x1000dc30]
mov edi, eax
cmp dword [ebp - 8], ebx
jne 0x10007182
push ebx
mov ebx, 0
or eax, ecx
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x80], 0x20
and eax, edi
mov edx, 0
and esi, dword [ebp - 0x74]
add esi, dword [ebp - 0x80]
mov dword [ebp - 0x38], edx
and eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x40], 0x28782
push dword [ebp - 0x40]
call fcn.10004280
mov dword [ebp - 0x84], ebx
call fcn.1000498b
mov dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x44]
or ecx, esi
push eax
mov dword [ebp - 0x4c], edx
push edx
mov dword [ebp - 0x4c], 0x5c9
call fcn.10004390
mov dword [ebp - 0x64], edx
and ecx, dword [ebp - 0x58]
lea edx, [ebp - 0x40]
add edi, edx
push edx
sub ecx, dword [ebp - 0x58]
push dword [ebp - 0x44]
mov dword [ebp - 0x7c], edi
call fcn.100043fd
or esi, dword [ebp - 0x80]
push dword [ebp - 0x44]
call fcn.10004280
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x60], 0x15
push dword [ebp - 0x40]
call fcn.10004280
test dword [ebp - 0x68], 0
je 0x1000470b
mov ecx, dword [eax + 0x208]
mov edi, dword [eax + 0x1b4]
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x1000da21]
push eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
call 0x10008496
push 1
call fcn.10006c78
cmp dword [ebp - 0x28], 0x38
jne 0x10004737
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
test byte [ecx], 2
mov eax, esi
je 0x100046f4
dec edx
inc esi
inc esi
mov word [eax], 0x20
inc eax
inc eax
inc ecx
mov dword [ebp + 8], 1
jmp 0x1000475f
push dword [ebp - 0x44]
call fcn.10004280
mov byte [ebp - 0x64], 0x77
push dword [ebp - 0x40]
call fcn.10004280
add esi, dword [ebp - 0x60]
call fcn.10004da1
mov byte [ebp - 0x7c], 0x52
push dword [ebp - 0x38]
call fcn.10004280
and ebx, edx
push dword [ebp - 0x38]
call fcn.10004280
or ebx, dword [ebp - 0x7c]
add esi, 0x7efd
push dword [ebp - 0x44]
call fcn.10004280
sub ebx, dword [ebp - 0x58]
push dword [ebp - 0x40]
call fcn.10004280
mov dword [ebp - 0x4c], eax
mov word [ebp - 0x34], 0xa9f
call fcn.10005735
add esi, dword [ebp - 0x54]
lea ebx, [esi]
cmp dword [ebp - 0x68], 0
je 0x100047c0
push ecx
call 0x10007add
mov dword [ebp - 0x1c], eax
or dword [ebp - 4], 0xffffffff
call 0x10005e09
mov eax, dword [ebp - 0x1c]
call 0x1000956d
nop
nop
nop
nop
nop
push dword [ebp - 0x24]
lea eax, [ebp - 0x38]
push eax
call fcn.100042d5
mov ecx, edi
push dword [ebp - 0x38]
call fcn.10004280
add eax, ebx
push dword [ebp - 0x40]
call fcn.10004280
add esi, edx
mov edx, dword [ebp - 0x44]
lea ebx, [ebp - 0x40]
xor eax, dword [ebp - 0x34]
lea eax, [eax + 0x5f]
push ebx
and ebx, dword [ebp - 0x58]
push edx
and eax, dword [ebp - 0x34]
mov byte [ebp - 0x64], 0xd2
call fcn.10004390
cmp dword [ebp - 0x68], 0x10000002
jne 0x10004842
call 0x10009b0d
mov esi, eax
mov eax, dword [0x1000d989]
pop ecx
inc esi
lea ecx, [esi + esi*4]
shl ecx, 2
push ecx
add eax, 0x400000
push eax
push dword [0x1000e104]
call dword [0x1000d034]
test eax, eax
mov dword [ebp - 4], eax
je 0x1000ac69
push 0
call 0x10009287
mov dword [ebp + 0xc], eax
push eax
push dword [ebp - 0x40]
call fcn.10004280
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x40]
add ebx, edi
xor ebx, dword [ebp - 0x34]
push ecx
mov dword [ebp - 0x4c], ecx
push dword [ebp - 0x40]
add ebx, dword [ebp - 0x58]
call fcn.1000451d
add ecx, dword [ebp - 0x60]
push dword [ebp - 0x40]
call fcn.10004280
cmp dword [ebp - 0x28], 1
je 0x100048aa
je 0x1000489d
push dword [ebp - 4]
call dword [0x1000d0a0]
push ebx
call 0x10005816
pop edi
pop esi
pop ebx
cmp dword [ebp + 0x78], 0x1000d7
jne 0x10006a3e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x28]
call 0x1000a286
mov esi, dword [ebp - 0x38]
lea edx, [ebp - 0x44]
lea ebx, [esi + 0x517]
push edx
cmp dword [ebp - 0x68], 0x10000002
jne 0x100048fb
je 0x10007ebe
push edi
mov edi, dword [ebp + 0x10]
mov eax, 0x1000df68
cmp edi, eax
mov dword [ebp - 0x14], eax
ja 0x100048c7
mov dword [ebp - 0x14], edi
push esi
mov esi, dword [ebp - 0x14]
lea eax, [esi + esi*4]
shl eax, 5
push eax
push dword [0x1000e18b]
push dword [0x1000d2dc]
call dword [0x1000d010]
test eax, eax
mov dword [ebp - 0x20], eax
push esi
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000493f
cmp dword [esi + 0x30], 0
je 0x100048c0
or dword [ebp - 0x34], 8
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x34]
push edi
call fcn.1000ab8f
mov dword [ebp - 0x2c], eax
test eax, eax
jl 0x1000a918
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
push edi
call fcn.10006f95
mov dword [ebp - 0x2c], eax
test eax, eax
jl 0x10007fbd
call fcn.10004390
mov ebx, edx
push dword [ebp - 0x44]
call fcn.10004280
add edi, dword [ebp - 0x34]
push dword [ebp - 0x44]
call fcn.10004280
xor eax, edx
xor dword [ebp - 0x4c], 0xf24
or edx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x48]
xor eax, ebx
push dword [edx]
xor edx, esi
mov word [ebp - 0x74], 0x813
add dword [ebp - 0x48], 8
sub edi, eax
or dword [ebp - 0x78], ebx
ret
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x28], 1
je 0x10004b4b
call dword [str.t_DV]
test al, al
je 0x1000695b
cmp byte [esi + 0x34], 0
je 0x1000841a
mov edx, dword [ebp + 8]
mov ax, word [edx + 0x120]
cmp word [esi + 0x2c], ax
jbe 0x10004b72
movzx eax, ax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 0x2c]
mov esi, dword [edx + 0x128]
mov edi, dword [edi]
mov eax, ecx
shr ecx, 2
mov ecx, eax
and ecx, 3
xor esi, esi
push dword [ebp + 8]
call fcn.10005ff4
mov eax, esi
push ecx
cmp dword [ebp - 0x68], 0xffffffb6
jne 0x10004b75
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x68]
push edi
push ebx
mov dword [ebp + 0xc], eax
call 0x10005908
mov eax, dword [ebx + 0x38]
push eax
xor dword [ebp - 0x34], edi
call fcn.10004390
or ecx, dword [ebp - 0x78]
sub esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x70]
add dword [ebp - 0x7c], edx
mov esi, dword [ebp - 0x44]
and dword [ebp - 0x60], ecx
sub ecx, 0x34
cmp dword [ebp - 0x28], 1
je 0x10004be3
push edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x20]
lea ecx, [ebp + 8]
push ecx
push 0x1000d313
push 6
push dword [esi + 0x2c]
push dword [eax + 0x74]
call 0x1000577f
mov edi, eax
test edi, edi
jl 0x10004b6d
mov ecx, dword [ebp - 4]
test byte [ecx + 0x16c], 2
mov eax, dword [ebp + 8]
jne 0x10004c23
cmp dword [esi + 0x30], 0
mov eax, dword [eax + 0xc]
je 0x10004b62
inc dword [eax + 0x50]
dec dword [eax + 0x50]
mov eax, dword [ebp + 8]
add esi, dword [ecx + 0x3c]
mov dword [ebp - 0x44], esi
lea eax, [edx + 0x75c]
add ebx, eax
xor word [ebp - 0x7c], 0x53f
mov eax, dword [ebp - 0x44]
or edi, esi
or ebx, ecx
mov edi, dword [ebp - 0x40]
xor ebx, dword [ebp - 0x58]
sub eax, 8
mov word [ebp - 0x78], 0x8c2
mov edi, dword [eax + 0x9c]
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x28], 0x10000002
jne 0x10004c3b
lea eax, [ebp + 0x14]
push eax
lea edi, [esi + 0x84]
and dword [edi], 0xfffffffe
push esi
call 0x10008c32
or dword [edi], 1
lea eax, [ebp + 0x14]
push eax
mov eax, dword [esi]
add ecx, eax
or esi, edi
cmp dword [ebp - 0x40], 0x378b838e
je 0x10004c92
add dword [ebp - 0x34], 0xffffffdc
sub dword [ebp - 0x38], 0x10000
cmp dword [ebp - 0x68], 0x10000002
jne 0x10004c8a
xor eax, eax
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
cmp word [0x75b6d4a0], 0
je 0x10004c1f
mov eax, 0x1000dbc6
cmp eax, 0x75b6d4e0
jge 0x10004c9e
mov cx, word [ebp + 8]
cmp cx, word [eax]
jmp 0x10004af0
test dword [ebp - 0x68], 0
je 0x10004cdf
mov ebp, esp
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x140]
push ebx
xor ebx, ebx
test ecx, 0x20000000
mov dword [ebp - 4], ebx
jne 0x10008581
cmp word [ebp + 0x20], bx
jle 0x10008b0c
cmp byte [eax + 0x2a2], bl
jne 0x1000ad6c
push dword [ebp - 4]
movsx eax, word [ebp + 0x20]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 8]
push ebx
lea edx, [ebp - 0x44]
push edx
call fcn.100042d5
xor edi, dword [ebp - 0x7c]
and esi, ecx
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x40]
push eax
call fcn.100042d5
and ecx, eax
mov ebx, dword [ebp - 0x70]
or dword [ebp - 0x34], 0x81
mov dword [ebp - 0x48], ebx
add dword [ebp - 0x4c], 0x8b9
add ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x70]
push eax
call fcn.100042d5
and word [ebp - 0x64], 0x54f
mov dword [ebp - 0x54], edx
add ebx, 0xc96d
xor ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x48]
xor esi, dword [ebp - 0x54]
cmp dword [ebp - 0x68], 0x10000002
jne 0x10004d8a
call 0x10006efc
cmp eax, edi
mov dword [ebp - 0x10], eax
je 0x100079e5
cmp dword [ebp + 0x14], 2
jne 0x10004d84
mov ebx, dword [0x1000d313]
cmp dword [ebp + 0x14], 5
je 0x10004d5c
cmp dword [ebp + 0x14], 6
jne 0x100083ab
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x1000d33b]
mov ebx, dword [0x1000e19f]
je 0x10004de3
mov ebx, dword [0x1000d3c9]
xor eax, eax
cmp dword [ebp - 4], edi
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
push dword [edi]
mov dword [ebp - 0x80], edx
add dword [ebp - 0x48], 8
add dword [ebp - 0x64], 0xfa8
ret
push ebx
call fcn.10006b59
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
jl 0x1000820b
sub dword [ebp - 0x48], 4
and ecx, dword [ebp - 0x7c]
and esi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x80]
pop dword [edx]
push dword [ebp - 0x70]
call fcn.10004280
cmp dword [ebp - 0x28], 1
je 0x10004e4b
push esi
push edi
jne 0x10004ddd
cmp byte [eax + 0x64], 0
je 0x10004e59
push eax
call fcn.1000afdf
mov edi, dword [ebp + 0xc]
push edi
call fcn.100072be
mov esi, eax
mov eax, dword [0x1000d979]
pop ecx
inc esi
lea ecx, [esi + esi*4]
shl ecx, 2
push ecx
add eax, 0x400000
push eax
push dword [0x1000d615]
mov eax, dword [ebp - 0x48]
lea edi, [ebp - 0x70]
cmp dword [ebp - 0x28], 0x56
jne 0x10004e90
cmp eax, ebx
jl 0x10004e03
mov dword [ebp - 0x100], 1
jne 0x10004e6e
push edi
cmp dword [ebp - 0x28], 0x58
jne 0x10004edf
jge 0x10007fc8
mov dword [0x1000d6a4], esi
mov eax, 0x1000d887
add eax, 0xfffffffe
mov dword [ebx + 8], eax
mov eax, esi
mov esi, dword [esi]
push eax
push eax
add ebx, 0x33be
lea eax, [esi + ecx*4 + 0xe82]
call fcn.10004390
or dword [ebp - 0x54], edi
and dword [ebp - 0x34], eax
add dword [ebp - 0x48], 0xfffffff8
xor esi, edi
push dword [ebp - 0x40]
call fcn.10004280
cmp dword [ebp - 0x28], 0x51
jne 0x10004f53
push eax
push esi
call fcn.10007262
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xb0]
test byte [eax + 4], 1
je 0x10004f7a
lea ecx, [esi + 0x274]
cmp byte [ecx], 0
je 0x10004f30
push 1
mov byte [ecx], 0
push dword [eax + 0x6c]
push eax
call 0x100059a4
xor edi, edi
cmp dword [esi + 0x284], edi
jbe 0x10004f78
mov eax, dword [esi + 0x288]
mov eax, dword [eax + edi*4]
test eax, eax
push dword [ebp - 0x44]
call fcn.10004280
cmp dword [ebp - 0x68], 0x10000002
jne 0x10004f99
dec eax
je 0x10004f71
dec eax
jne 0x1000b2da
xor eax, eax
inc eax
xor eax, eax
inc eax
xor eax, eax
xor eax, eax
push 0
push eax
push dword [edi + 0xb0]
call 0x10009a13
push edi
call 0x10005e09
test byte [edi + 0x13e], 0x30
jne 0x10004155
push dword [ebp - 0x50]
call fcn.10004280
mov edi, edx
add dword [ebp - 0x54], 0xd46
mov ecx, ebx
mov esi, dword [ebp - 0x70]
add ecx, 0x2009
add ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x68], 0x5e
jne 0x10004ffc
push dword [ebp - 0x82e]
push dword [ebp - 0x830]
push dword [ebp - 0x832]
push dword [ebp - 0x834]
call 0x1000b20d
push dword [ebp - 0x830]
push dword [ebp - 0x834]
call 0x1000838e
cmp esi, ebx
je 0x10007812
push 0xc
sub esi, 0x30
sub ecx, esi
and word [ebp - 0x64], 0x811
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x60], eax
xor dword [ebp - 0x64], edx
lea ebx, [ecx]
mov edx, dword [ebp - 0x70]
mov eax, edi
mov edi, dword [ebp - 0x38]
add ebx, dword [ebp - 0x7c]
sub edx, 4
add dword [ebp - 0x64], 0x50e
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x38], edi
or ecx, ebx
cmp dword [ebp - 0x28], 1
je 0x10005076
mov ebx, eax
mov ebx, 0x1000dc39
test ebx, ebx
jl 0x10007d39
mov eax, dword [edi]
test byte [eax + 0x143], 0x80
je 0x10005058
test byte [eax + 0x64], 4
je 0x100050a7
and dword [ebp + 8], 0
lea eax, [ebp + 8]
push eax
push 1
push dword [esi + 0x30]
push edi
call 0x100053dc
mov ax, word [ebp + 8]
add word [esi + 0x32], ax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x50]
sub edi, dword [ebp - 0x60]
cmp dword [ebp - 0x68], 0x10000002
jne 0x100050b9
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push esi
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x140]
test dl, 4
mov dword [ebp + 8], edx
je 0x10004e03
mov edx, dword [ebp - 0x38]
and eax, dword [ebp - 0x58]
cmp dword [ebp - 0x68], 0
je 0x100050f7
lea esi, [ebp - 0x20]
mov edi, dword [ebp - 8]
inc dword [ebp - 4]
add edi, 0x10
mov dword [ebp - 8], edi
lea eax, [ebx + 0x100]
cmp dword [ebp - 0xc], eax
jne 0x100085b7
movzx eax, word [ebx + 0x120]
mov ecx, dword [0x1000d651]
add ecx, 0x1000dec6
inc eax
sub ecx, 0x34
cmp dword [ebp - 0x68], 0x29
jne 0x1000512d
jne 0x10005096
test byte [eax + 0x16c], 2
je 0x100050cb
xor eax, eax
mov al, byte [esi + 0x63]
push eax
push dword [esi + 0x6c]
push esi
call 0x100081c2
push esi
call fcn.10006e76
pop ebx
xor eax, eax
pop esi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
add edx, dword [ecx + 0xd0]
mov dword [ebp - 0x38], edx
xor ecx, ebx
cmp dword [ebp - 0x28], 1
je 0x1000514e
jno 0x100051a9
jne 0x10005146
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
add edi, dword [ebp - 0x7c]
push esi
call fcn.1000417b
add eax, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 0x10000002
jne 0x100051b8
mov dword [eax + 0x6c], edx
call dword [0x1000d0c0]
cmp dword [eax + 4], edx
mov ecx, dword [eax + 8]
je 0x10006d7d
cmp ecx, edx
je 0x100076dc
mov esi, dword [ecx]
lea edi, [ecx + 4]
push edi
add esi, ecx
call dword [0x1000d13c]
mov ebx, eax
mov eax, dword [0x1000d30d]
mov ecx, ebx
shl ecx, 2
push ecx
add eax, 0x400000
push eax
push dword [0x1000d2e5]
call dword [0x1000d1d0]
test eax, eax
mov ebx, dword [ebp - 0x48]
sub edi, edx
cmp dword [ebp - 0x28], 1
je 0x100051f6
mov dword [ebp - 0x6c], 0x40
mov dword [ebp - 0x4c], eax
jne 0x10005238
mov dword [ebp - 0x6c], 0xc0
mov dword [ebp - 0x44], 8
lea eax, [ebp - 0x70]
push eax
push 0
push dword [ebp + 0xc]
push dword [esi + 0xcc]
call dword [0x1000d0e8]
mov ecx, dword [ebp - 4]
pop esi
mov ecx, 0x40
lea esi, [ebx + 0x51b]
add edx, eax
mov dword [ebx], ecx
add ecx, esi
test dword [ebp - 0x68], 0
je 0x1000524a
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x38], ecx
je 0x1000b2a4
test bl, 8
jne 0x10005261
je 0x100051ec
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
and eax, 4
test byte [edx + 0x68], 1
mov dword [ebp - 0x1c], eax
push 0xffffffffffffffd7
push eax
call fcn.10004139
xor eax, esi
mov ebx, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 1
je 0x1000527c
mov esi, eax
test esi, esi
mov dword [ebp + 0xc], esi
jne 0x10005291
mov eax, dword [ebx + 8]
mov edi, 0x3000
cmp dword [ebp - 0x68], 0
je 0x100052a8
call 0x10006e10
call fcn.10004dac
nop
nop
nop
mov dword [ebx], edi
and word [ebp - 0x84], 0xcfd
mov eax, edx
push edx
push dword [ebp - 0x64]
call fcn.10004139
cmp dword [ebp - 0x68], 0xffffff9d
jne 0x100052fb
pop esi
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0xb0], esi
push edi
mov edi, dword [ebp + 0x10]
jne 0x10005279
mov ecx, dword [ebp + 0xc]
cmp cx, word [ebp + 0x14]
je 0x1000b0ae
movzx edx, word [ebp + 0x18]
movzx ebx, word [ebp + 0x14]
shl edx, 0x10
mov eax, dword [ebp - 0x50]
xor edx, ebx
or dword [ebp - 0x78], edi
mov eax, dword [eax + 0x64]
or edx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x48]
and ebx, dword [ebp - 0x74]
mov dword [edi], eax
test dword [ebp - 0x68], 0
je 0x10005337
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push edi
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
je 0x10005399
push esi
lea eax, [ebp - 1]
push eax
push eax
xor ecx, dword [ebp - 0x58]
xor dword [ebp - 0x7c], edi
add dword [ebp - 0x64], esi
sub dword [ebp - 0x48], 4
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005380
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
add eax, 0x264
xor ebx, ebx
xor edx, edx
test byte [eax], 1
jne 0x100052f0
or dword [eax], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x28c]
cmp eax, ebx
je 0x1000536a
mov ecx, dword [eax]
test cl, 4
jne 0x100053cf
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0x10000002
jne 0x100053c7
mov eax, dword [0x1000dc71]
mov dword [ebp - 4], eax
mov eax, dword [0x1000d8f2]
cmp dword [0x1000d30d], eax
push ebx
mov ebx, dword [ebp + 8]
je 0x1000a0f2
push esi
mov esi, dword [ebp + 0xc]
xor eax, eax
test esi, esi
je 0x100053c0
jle 0x1000540c
cmp word [ebx + eax*2], 0x7f
ja 0x10007e2a
inc eax
cmp eax, esi
jl 0x100053df
xor eax, eax
mov esi, 0
sub ebx, dword [ebp - 0x78]
and ebx, edi
mov dword [eax], esi
and ebx, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 1
je 0x100053f5
mov esi, dword [ebp + 0x20]
xor edx, edx
cmp dword [ebp + 0x1c], edx
push edi
mov dword [ebp - 0x14], eax
mov dword [esi], edx
je 0x10005463
mov eax, dword [ebx + 0x30]
xor edi, edi
inc edi
cmp word [eax], di
mov dword [ebp - 0x3c], esp
or dword [ebp - 0x4c], 0xfd7
mov esp, dword [ebp - 0x48]
add dword [ebp - 0x68], 0
je 0x10005424
movsx edx, word [eax + 8]
mov dword [ebp - 0x34], edx
movsx edx, word [eax + 0xa]
mov dword [ebp - 0x30], edx
pop edi
je 0x10005399
test byte [eax], 2
mov dword [ebp - 0x2c], ecx
jne 0x10005480
mov dword [ebp - 0x2c], ebx
mov edi, dword [ebp - 0x38]
call dword [edi]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x28], 1
je 0x1000546e
xor edi, edi
call dword [0x1000d138]
mov ebx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
push 8
lea eax, [ebp - 8]
push eax
push esi
mov dword [ebp - 8], ebx
call 0x10005606
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x100050ce
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
push 0x1000d243
call dword [0x1000d0f8]
mov dword [ebp - 0x48], esp
xor ecx, dword [ebp - 0x7c]
mov esp, dword [ebp - 0x3c]
or ecx, dword [ebp - 0x80]
and edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x70]
add eax, dword [ebp - 0x4c]
sub ebx, eax
mov edi, dword [ebp - 0x38]
xor dword [ebp - 0x5c], edx
sub esi, 0x10
cmp dword [ebp - 0x28], 0xffffffb8
jne 0x100054d5
call dword [0x1000d088]
cmp eax, dword [esi + 4]
je 0x10005512
mov eax, dword [esi]
push 0xc
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 7
push 0xfffffffffffffffe
mov dword [ebp - 8], 1
mov dword [ebp - 0x18], ebx
call fcn.1000aad8
push 4
lea esi, [edi + 0x30]
push esi
push 5
call 0x10005fa3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push ebx
push dword [esi]
mov dword [esi + 0xc], edi
mov dword [ebp - 0x58], ecx
add edi, dword [eax + 0xc03fa6]
jmp eax
cmp eax, 0xffffffff
je 0x10005527
mov esi, dword [0x1000de41]
push ebx
lea eax, [ebp - 0x3c]
push eax
push 6
lea eax, [ebp - 0x38]
push eax
push dword [0x1000e06a]
call esi
test eax, eax
je 0x10005574
mov edx, edi
add ecx, 0xf677
lea ecx, [ebp - 0x50]
push ecx
call fcn.100042d5
and ebx, dword [ebp - 0x64]
add dword [ebp - 0x68], 0
je 0x1000559d
call 0x1000531a
nop
and eax, 0x73007700
add byte [eax + eax + 0x25], bl
add byte [eax + eax + 0x64], ch
add byte [eax + eax + 0x42], bl
add byte [ecx], ah
jae 0x100055b9
add byte gs:[esi], cl
popal
add byte [ebp], ch
add byte gs:[eax + eax + 0x4f], ah
xor dword [ebp - 0x78], ecx
lea esi, [ebp - 0x44]
push esi
call fcn.100042d5
and esi, dword [ebp - 0x64]
add dword [ebp - 0x58], 0xb
lea ecx, [ebp - 0x40]
push ecx
call fcn.100042d5
lea ecx, [ebx + 0x1d16]
cmp dword [ebp - 0x68], 0xffffff8b
jne 0x100055e1
call dword [0x1000d0ec]
pop esi
nop
nop
nop
nop
nop
jmp dword [0x1000d04c]
mov ebx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x34]
and ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ebx
and eax, dword [ebp - 0x34]
add dword [ebp - 0x5c], eax
lea ebx, [ebp - 0x70]
push ebx
call fcn.100042d5
or dword [ebp - 0x80], 0x35
cmp dword [ebp - 0x68], 0xffffff8e
jne 0x10005644
jne 0x1000567f
mov eax, 0x1000d282
cmp eax, edi
jl 0x100055fc
mov ecx, dword [esi + 0x198]
push 8
pop eax
mov dword [ebp - 0xf0], ecx
mov ecx, dword [esi + 0x1a0]
mov dword [ebp - 0xec], ecx
lea ecx, [ebp - 0xe4]
push ecx
lea ecx, [ebp - 0xf0]
push ecx
push eax
mov dword [ebp - 0xe4], eax
mov eax, ecx
push eax
cmp dword [ebp - 0x68], 0x61
jne 0x100056a6
and byte [eax + 0x141], 0xf7
and byte [eax + 0x142], 0xf7
cmp eax, esi
jae 0x10004103
lea eax, [ebp - 0x210]
mov dword [ebp - 0x7d8], eax
cmp dword [ebp - 0x7d8], edi
je 0x1000b1ae
and dword [ebx + 0xa8], 0
mov eax, ebx
shr eax, 0x10
push eax
push ebx
push esi
call 0x1000aca5
dec cx
inc cx
mov si, dx
sub si, word [eax + 0x2c]
mov si, word [eax + 0x2c]
sub si, dx
add cx, si
xor cx, cx
jmp 0x100056b8
mov esi, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0
je 0x100056d3
mov dword [edi], esi
mov edi, dword [ebp + 8]
push dword [edi]
call ebx
mov ebx, eax
cmp ebx, esi
jge 0x100056bc
push dword [edi]
call dword [0x1000d120]
mov eax, ebx
pop edi
pop esi
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
push ebp
push dword [esi]
sub edi, esi
cmp dword [ebp - 0x28], 0xffffffa7
jne 0x1000571c
push edi
call 0x10004805
test eax, eax
jl 0x100056be
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
shl eax, 2
or eax, 3
mov dword [ecx], eax
lea eax, [ebp + 0xc]
push eax
push 2
push ebx
call fcn.10007048
test eax, eax
jl 0x1000577f
lea eax, [ebp - 4]
push eax
push dword [ebp + 0xc]
push ebx
call 0x10004875
test eax, eax
jl 0x1000578b
mov eax, dword [esi + 0xb0]
add dword [ebp - 0x48], 0xc
xor dword [ebp - 0x78], 0x578
ret
and word [ebp - 0x58], 0x375
mov edi, dword [ebp - 0x48]
xor esi, dword [ebp - 0x84]
add ebx, dword [ebp - 0x84]
pop dword [edi]
push dword [ebp - 0x70]
call fcn.10004280
and esi, dword [ebp - 0x80]
xor dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x48]
lea edi, [ebp - 0x70]
lea ecx, [ecx + edx*4 + 0x9f3]
or eax, dword [ebp - 0x58]
push edi
mov edi, eax
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000579d
jne 0x10005723
lea edi, [ebx + 0x4e8]
mov esi, eax
add eax, edx
jne 0x100057ba
xor esi, esi
cmp dword [ebp - 0x68], esi
je 0x10005787
push dword [ebp - 0x68]
push dword [0x1000d9a3]
push edx
cmp dword [ebp - 0x28], 0xffffffbf
jne 0x100057c2
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push 2
lea esi, [eax + 0x28]
pop ecx
mov edi, ebx
xor edx, edx
je 0x100092d9
mov cx, word [ebx]
xor esi, esi
cmp cx, si
call fcn.10004390
and dword [ebp - 0x58], edx
add dword [ebp - 0x48], 0xfffffff8
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005808
push dword [ebp - 0x40]
call fcn.10004280
cmp dword [ebp - 0x28], 0x45
jne 0x10005833
add byte gs:[ebp], ch
push edx
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax + eax + 0x25], dh
add byte [eax], al
add byte [ebx - 0x35fcefb3], cl
mov word [eax], cx
nop
nop
nop
nop
nop
push dword [ebp - 0x44]
call fcn.10004280
add eax, 0x4a2c
push dword [ebp - 0x2c]
call fcn.10004280
add eax, esi
push dword [ebp - 0x30]
call fcn.10004280
mov dword [ebp - 0x84], esi
or edi, edx
push dword [ebp - 0x50]
call fcn.10004280
add dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0x5a3
mov ebx, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 0x5e
jne 0x1000588e
push eax
add byte [edi], ch
jo 0x1000581e
jne 0x10005816
jo 0x100058ed
inc ebx
add byte [edi], ch
insb byte es:[edi], dx
add byte [edi], ch
jb 0x10005863
jae 0x10005831
add byte [eax], al
mov ecx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x80]
sub ebx, 0x1c
add dword [ebp - 0x68], 0
je 0x100058cb
jle 0x10007235
mov ax, word [esi + 8]
inc word [ebp + 0xa]
xor ecx, ecx
mov cx, word [esi + 0xc]
sub cx, ax
mov word [ebp + 8], ax
dec ecx
movsx eax, cx
inc eax
inc eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
xor eax, eax
mov ax, word [esi + 0x10]
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x2c], ecx
mov edi, ebx
or dword [ebp - 0x78], esi
mov edx, dword [ebp - 0x70]
and eax, edx
sub edi, eax
mov esi, dword [ebp - 0x44]
add ebx, 0x5341
lea eax, [ebx + ecx*8 - 0x56]
sub edx, 0xc
and ebx, dword [ebp - 0x80]
xor dword [ebp - 0x78], ebx
mov esi, dword [edx + 0x18]
mov dword [ebp - 0x44], esi
and word [ebp - 0x74], 0x4d5
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000592e
nop
nop
nop
nop
nop
jmp dword [0x1000d0d8]
nop
nop
nop
nop
nop
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x2c]
xor ebx, esi
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x68], 0x71
jne 0x10005980
mov eax, dword [esi + 0x24]
mov dword [esi + 0x7c], eax
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp + 8]
push dword [eax + 0x1a8]
call 0x10005e8d
mov dx, word [esi + 0x24]
mov ecx, dword [ebp - 0xa]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0xc]
cmp ax, dx
jg 0x100058f9
cmp cx, word [esi + 0x26]
jle 0x10005929
cmp ax, dx
sub edx, 0xc
xor ebx, edx
add esi, dword [edx + 0x88]
mov dword [ebp - 0x44], esi
sub ecx, dword [ebp - 0x78]
lea ebx, [esi + eax + 0x1aa3]
mov ebx, dword [ebp - 0x70]
cmp dword [ebp - 0x68], 0x10000002
jne 0x100059ee
pop esi
pop ebp
call 0x1000b0ae
mov word [ebp - 8], bx
mov word [ebp - 6], bx
cmp word [ebp - 6], si
jne 0x1000746a
mov dl, byte [ebp - 1]
cmp byte [eax + 0x14], dl
jne 0x1000573e
mov edx, dword [eax + 0xc]
cmp edx, dword [ebp - 0x4c]
jne 0x1000a0e8
lea ecx, [ebx + 0x1c]
push ecx
push dword [eax + 0x10]
call 0x1000663b
test eax, eax
pop ecx
pop ecx
jne 0x1000566c
push dword [ebp - 0x18]
mov edx, dword [ebp - 0x44]
add eax, dword [ebp - 0x74]
cmp dword [ebp - 0x68], 0xffffffd7
jne 0x10005a33
mov word [ebp - 0x22], bx
mov word [ebp - 0x20], cx
call fcn.10008625
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
push dword [ebp + 0x18]
call fcn.10007cf8
lea eax, [esi - 1]
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0xa]
dec eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x44]
mov word [ebp + 0xc], ax
mov ax, word [ebp - 0x42]
push 0xffffffffffffffff
sub ebx, 8
cmp dword [ebp - 0x28], 1
je 0x10005a78
mov dword [ebp - 0x1c], ecx
cmp ecx, ebx
je 0x100059cf
mov esi, dword [eax]
add esi, eax
mov dword [ebp - 0x24], esi
push esi
call dword [0x1000d030]
mov edi, eax
mov dword [ebp - 0x20], edi
cmp edi, ebx
je 0x10005a95
dec dword [ebp + 0x10]
cmp dword [ebp + 0x10], edi
jae 0x10005a84
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x20], edi
lea eax, [edi + 1]
push eax
push esi
push dword [ebp + 0xc]
call dword [0x1000d12c]
jmp 0x10005a4a
mov dword [ebx + 4], edx
cmp dword [ebp - 0x28], 1
fadd dword [ecx]
je 0x10005ab2
add byte [eax], al
inc ecx
add byte [eax + eax + 0x49], cl
add byte [ecx], al
push ebx
add byte [eax], al
add byte [eax], cl
dec ecx
add byte [ebx], dl
push esp
add byte [edi], cl
push edx
add byte [ecx], bl
add byte [eax], al
push esp
add byte [ecx], cl
push esp
add byte [eax + eax + 0x45], cl
add byte [eax], al
add byte [eax - 0x48], cl
jle 0x10005ac8
rol byte [eax], 0xff
loopne 0x10005a7d
ret
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], 0x25
mov dword [ebp - 0x78], ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005b0a
mov byte [ebx + 0x48], 0
jne 0x100046e8
mov eax, 0x1000d24c
mov eax, dword [esi + 0x108]
mov dword [0x1000d461], eax
nop
nop
nop
nop
nop
jmp dword [0x1000d0f4]
mov ecx, dword [ebp - 0x2c]
add esi, ebx
cmp dword [ebp - 0x28], 1
je 0x10005b4b
mov dl, byte [eax + 0xdc]
add eax, 0x98
inc ecx
mov word [ebp + 8], cx
xor ecx, ecx
mov cx, word [eax - 0x6a]
sub cx, word [eax - 0x6e]
inc ecx
mov word [ebp + 0xa], cx
mov cx, word [eax - 0x66]
mov word [ebp - 6], cx
mov cx, word [eax - 0x64]
mov word [ebp - 2], cx
mov ecx, dword [eax + 0x48]
push ecx
push dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 1
je 0x10005b7f
push dword [eax + 0x30]
call dword [0x1000d1a4]
test eax, eax
jl 0x1000865f
call dword [0x1000d09c]
test ebx, ebx
je 0x100077c4
lea eax, [ebp - 0x10]
push eax
push ebx
call 0x10005408
mov esi, eax
sub ecx, 0x14
or dword [ebp - 0x5c], ecx
add edx, dword [ecx + 0x9c]
mov dword [ebp - 0x30], edx
and ecx, dword [ebp - 0x78]
and ebx, dword [ebp - 0x74]
sub dword [ebp - 0x30], 4
and dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x2c]
or dword [ebp - 0x74], edi
mov ebx, dword [ebp - 0x40]
sub esi, dword [ebp - 0x80]
mov ebx, dword [edx]
mov dword [ebp - 0x40], ebx
xor dword [ebp - 0x5c], esi
sub dword [ebp - 0x40], 4
cmp dword [ebp - 0x28], 1
je 0x10005bec
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [0x1000d90f]
push ebx
push edi
add eax, 0x180000
push 0x1000de40
or eax, 8
push eax
push dword [0x1000dd03]
call dword [0x1000d0b0]
mov ebx, eax
mov ecx, 0
cmp dword [ebp - 0x68], 0
je 0x10005c1e
call 0x10007a85
mov eax, dword [esi + 0x278]
cmp eax, edx
je 0x10005c82
test byte [eax], 1
jne 0x10005c0b
push eax
push esi
call fcn.100049c7
xor edx, edx
mov eax, dword [esi + 0x27c]
cmp eax, edx
je 0x10005bbf
mov dword [ebp - 0x50], ecx
and dword [ebp - 0x58], 0xffffffcc
and ecx, dword [ebp - 0x84]
cmp dword [ebp - 0x68], 0
je 0x10005c5d
push esi
push dword [0x1000dc7a]
call edi
cmp eax, 0xffffffff
je 0x10005c96
add dword [ebp - 0x5e], 0x1000da
cmp word [ebp - 0x40], bx
jne 0x10005c51
mov eax, 0x1000d59c
cmp dword [ebp - 0x44], ebx
je 0x10005c54
mov esi, dword [ebp - 0x20]
add esi, dword [ebp - 0x20]
push ebx
mov edi, dword [ebp - 0x70]
xor dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10005c99
jmp dword [0x1000d148]
nop
nop
nop
jmp dword [0x1000d030]
nop
nop
nop
sub edi, 0xc
mov word [ebp - 0x7c], 0xe60
mov edx, dword [edi + 8]
mov dword [ebp - 0x38], edx
sub eax, dword [ebp - 0x74]
cmp dword [ebp - 0x68], 0
je 0x10005cd9
lea ebx, [ebp - 0x38]
sub eax, ebx
push ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005d09
push esi
call dword [0x1000d03c]
push 0
call 0x100096a6
xor eax, eax
pop esi
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push dword [ebp - 0x40]
cmp dword [ebp - 0x28], 0xffffff80
jne 0x10005d38
mov word [edx + 2], cx
mov word [edx], ax
mov ax, word [edx + 2]
cmp ax, word [esi + 2]
jne 0x10005d06
mov ax, word [esi]
add word [edx], ax
add esi, 4
add edx, 4
cmp esi, edi
jae 0x10005d31
sub edi, esi
sar edi, 2
call fcn.100043fd
mov ebx, eax
mov eax, dword [ebp - 0x38]
add edx, dword [ebp - 0x78]
add edx, 0x9b43
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x54], edi
mov esi, dword [eax]
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x28], 0x10000002
jne 0x10005d7c
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x28]
push 2
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
push edi
call 0x100094f3
nop
nop
lea ecx, [ebp - 0x38]
test dword [ebp - 0x68], 0
je 0x10005db2
push eax
call edi
mov eax, dword [esi + 0x134]
cmp eax, ebx
je 0x10005dbc
cmp eax, dword [0x1000da0f]
je 0x10005dcc
push eax
call edi
push dword [esi + 0xfc]
call dword [0x1000d004]
mov eax, dword [esi + 0xb4]
push ecx
test dword [ebp - 0x68], 0
je 0x10005df4
popal
add byte [edx], dh
add byte gs:[eax + eax + 0x4d], bl
add byte [ecx], ch
arpl word [eax], ax
jb 0x10005e19
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x10005d9e
pop esp
add byte [edi], dl
imul eax, dword [eax], 0x64006e
outsd dx, dword [esi]
add byte [edi], dh
jae 0x10005d6d
and byte [eax], al
dec esi
add byte [eax + eax + 0x5c], dl
add byte [ebx], al
jne 0x10005e58
jb 0x10005e33
push dword [ebp - 0x50]
add edi, dword [ebp - 0x80]
call fcn.100044af
and edi, esi
or edx, esi
cmp dword [ebp - 0x68], 0
je 0x10005e3a
lea eax, [ebp - 0xc]
push eax
call dword [0x1000d07c]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
mov dword [ebp - 0x14], 2
mov edi, dword [ebp - 0x70]
or dword [ebp - 0x5c], ebx
mov edx, dword [ebp - 0x38]
add eax, edx
sub edi, 0x30
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005e75
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x1000d5ea]
push ebx
push esi
mov esi, dword [0x1000e12f]
push 0x14
add eax, 0x80000
push eax
push dword [0x1000d297]
call esi
mov dword [edi + 0x28], edx
or dword [ebp - 0x64], ebx
mov dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x68], 0x10000002
jne 0x10005eac
mov byte [ebp - 0x27], 1
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
cmp eax, ebx
jne 0x10005e78
push 0x1000d39a
mov ecx, dword [ebp - 0x44]
sub edx, edi
or edx, dword [ebp - 0x7c]
sub edi, 0x20
sub eax, dword [ebp - 0x64]
mov ecx, dword [edi + 0x74]
mov dword [ebp - 0x44], ecx
or edi, dword [ebp - 0x64]
lea esi, [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10005efa
call dword [0x1000d1dc]
cmp byte [0x75b6d508], 0
je 0x1000490f
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x10005f34
push esi
mov esi, dword [ebp + 0xc]
lea eax, [ebx + ebx*4]
push edi
push esi
xor dword [ebp - 0x54], ebx
push dword [ebp - 0x44]
sub ebx, dword [ebp - 0x64]
xor edi, dword [ebp - 0x60]
call fcn.1000451d
xor dword [ebp - 0x78], ecx
mov esi, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 1
je 0x10005f3a
add byte [esi], ch
add byte [eax], al
nop
nop
push edi
add byte [ecx], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x6f], ah
add byte [edi], dh
push ebx
add byte [ecx], ch
jp 0x10005f94
add byte gs:[eax], al
add byte [eax + 0x63005390], dl
mov eax, 0x1c00
mov eax, esi
mov eax, ecx
mov eax, esi
sub ebx, esi
cmp dword [ebp - 0x28], 7
jne 0x10005f8e
push eax
add ecx, 0x1000e1ce
push ecx
push dword [0x1000d59b]
call dword [0x1000d0d0]
test eax, eax
mov dword [ebp + 0xc], eax
je 0x10005f88
mov ax, word [esi + 2]
and ax, 0x300
mov ecx, dword [ebp + 8]
jne 0x10005f94
mov ecx, dword [ebp - 8]
test ax, ax
mov eax, dword [ebp - 4]
jne 0x10005f73
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
push ecx
push eax
xor eax, eax
mov ax, word [esi]
push eax
sub eax, 0x32
mov ecx, dword [ebp - 0x38]
add word [ebp - 0x80], 0x6b4
mov dword [eax + 0x32], ecx
cmp dword [ebp - 0x28], 0xffffff9e
jne 0x10005fd0
jne 0x10005fce
div dword [ebx + 0x5b026a75]
or ebx, 1
or ebx, 4
or ebx, 0x20
or ebx, 0x40
or ebx, 0x1000d7c1
test byte [esi + 4], 1
je 0x10007add
xor ecx, ecx
mov cl, bl
shr cl, 4
push 0xf
sub dword [ebp - 0x30], 4
and dword [ebp - 0x74], 0xffffff86
mov ebx, dword [ebp - 0x38]
lea edi, [ebp - 0x50]
and ecx, esi
add ecx, 0x97aa
push edi
add esi, dword [ebp - 0x74]
push ebx
cmp dword [ebp - 0x68], 0
je 0x10006038
call fcn.10004390
and dword [ebp - 0x34], 0xdab
mov dword [ebp - 0x4c], ebx
push 0x55
call fcn.1000417b
and word [ebp - 0x7c], 0x3f0
mov edx, dword [ebp - 0x48]
xor dword [ebp - 0x54], 0xc40
mov ecx, 0xff00
mov dword [ebp - 0x78], edx
mov dword [edx], ecx
cmp dword [ebp - 0x28], 1
je 0x100060af
mov eax, dword [eax + 0xf8]
test eax, eax
mov dword [ebp - 8], eax
jne 0x10006076
mov ecx, dword [ebx + 0x28c]
test ecx, ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov dword [ebp - 8], ecx
je 0x10006507
mov edx, dword [ebp - 4]
shl eax, 4
add eax, edx
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
and dword [ebp + 8], 0
test eax, eax
mov ebx, dword [ebx + 0xb4]
and ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 1
je 0x100060f3
pop ebp
inc eax
cmp eax, 0x20
jge 0x10006063
cmp dx, ax
jl 0x100060bf
movsx eax, ax
movsx ecx, ax
movsx eax, ax
movsx eax, dx
mov ax, word [esi + 0x14]
mov word [ebp + 8], ax
cmp cx, 7
jne 0x100080f6
test byte [ebx + 0x148], 8
je 0x1000a40d
nop
nop
nop
nop
lea ebx, [ebp - 0x44]
push ebx
call fcn.100042d5
mov ecx, ebx
lea ebx, [eax]
and edi, ebx
mov ebx, dword [ebp - 0x70]
sub eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x38]
or edx, ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000615d
mov word [edi + 2], cx
mov cx, word [ebp - 0x14]
cmp cx, word [ebp - 0x18]
jne 0x100061a3
mov cx, word [ebp - 0xc]
cmp cx, word [ebp - 8]
jge 0x10006166
add eax, 4
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov ax, word [ebp - 0xc]
add edi, 4
cmp ax, word [ebp - 8]
jge 0x100095c1
cmp cx, word [ebp - 8]
jge 0x100084b3
sub ebx, 0x40
cmp dword [ebp - 0x68], 0
je 0x10006183
pop ebx
xor eax, eax
nop
nop
jg 0x1000619a
nop
nop
and byte [ecx], al
add al, byte [ebx]
add al, 5
push es
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 0xd
push cs
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
mov edi, dword [ebx + 0x38]
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x28], 0x10000002
jne 0x100061ee
mov ebp, esp
sub esp, 0x1000d4b1
mov eax, dword [0x1000d9e2]
push esi
mov esi, dword [ebp + 8]
test byte [esi + 0x141], 2
mov dword [ebp - 4], eax
je 0x10007511
test byte [esi + 0x16c], 2
push ebx
push edi
je 0x1000aaea
mov eax, dword [esi + 0x1a8]
cmp eax, 0x3b5
je 0x1000616f
cmp eax, 0x3a4
jne 0x1000af20
cmp dword [0x1000d6ed], 0x20001
jne 0x1000a1b8
xor ebx, ebx
je 0x100061da
add ecx, 0x5147
and edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x44]
lea esi, [eax + ecx*4 - 0x5b]
cmp dword [ebp - 0x28], 1
je 0x10006248
and dword [ebp - 0x38], edx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10006282
or edx, dword [ebp - 0x60]
sub eax, dword [ebp - 0x58]
push 0x10
push ecx
call fcn.10004139
mov eax, edi
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 1
je 0x100062aa
pop edi
mov eax, ebx
pop ebx
pop esi
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, 8
or esi, dword [ebp - 0x74]
mov dword [ecx], eax
cmp dword [ebp - 0x28], 1
je 0x100062f9
test ebx, ebx
push esi
push edi
jne 0x100062c6
push 0x32
pop ebx
mov eax, 0x1000db0a
mov eax, dword [0x1000da89]
lea edi, [ebx + ebx*4 + 5]
shl edi, 2
push edi
add eax, 0x200000
push eax
push dword [0x1000dac8]
call dword [0x1000d078]
mov esi, dword [ebp + 0xc]
xor ecx, ecx
cmp eax, ecx
mov dword [esi], eax
je 0x10006329
push ecx
push ecx
push ecx
push dword [ebp - 0x38]
call fcn.10004280
xor esi, dword [ebp - 0x7c]
and ebx, dword [ebp - 0x80]
call fcn.1000af94
xor esi, ecx
add edi, 0xecc1
cmp dword [ebp - 0x28], 0x10000002
jne 0x10006359
lea eax, [ebp + 8]
push eax
push dword [esi + 0x28]
call 0x10005e51
test eax, eax
jl 0x1000860c
push edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x20]
lea ecx, [ebp - 4]
push ecx
push 0x1000d782
push 1
push dword [esi + 0x2c]
push dword [eax + 0x74]
call 0x10008435
test eax, eax
mov dword [ebp - 8], eax
sub dword [ebp - 0x48], 4
and dword [ebp - 0x74], 0x3fc
mov eax, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x58]
xor edi, ebx
mov esi, 0xd0
or ecx, dword [ebp - 0x80]
mov dword [eax], esi
cmp dword [ebp - 0x28], 1
je 0x100063bb
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov eax, dword [0x1000e09c]
or dword [esi + 0x3c], 0xffffffff
or dword [esi + 0x40], 0xffffffff
cmp dword [ebp - 4], ebx
mov dword [esi + 0x44], eax
mov ax, word [ebp + 0x1a]
mov word [esi + 0x32], ax
mov ax, word [ebp + 0x1e]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x4c], 1
mov dword [esi + 0x48], ebx
mov dword [esi + 8], 3
sub esi, edx
lea ebx, [ebp - 0x44]
push ebx
call fcn.100042d5
or dword [ebp - 0x78], 0xe
xor dword [ebp - 0x84], edi
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x68], 0
je 0x100063ff
push dword [ebp - 0x168]
push edx
call 0x10005f4d
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1000e0a2
mov eax, dword [0x1000dfda]
push ebx
push esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp - 0x38], eax
jb 0x10006836
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000644c
mov cx, word [0x75b6d3a8]
cmp word [eax - 0x11], cx
and eax, ebx
mov ecx, dword [ebp - 0x70]
xor dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x38]
add eax, esi
sub ecx, 0x34
add esi, dword [ebp - 0x64]
cmp dword [ebp - 0x28], 1
je 0x100064ad
xor esi, dword [ebp - 8]
call dword [0x1000d0c8]
xor esi, eax
call dword [0x1000d140]
xor esi, eax
call dword [0x1000d1dc]
xor esi, eax
lea eax, [ebp - 0x10]
push eax
call dword [0x1000d08c]
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 0x10]
xor eax, esi
and eax, 0xffff
pop esi
jne 0x10006441
mov eax, 0x1000dca1
mov dword [0x1000de5f], eax
mov eax, 0x1000d5e9
test esi, esi
je 0x10006465
mov ebx, dword [ecx + 0x2c]
mov dword [ebp - 0x38], ebx
add dword [ebp - 0x68], 0
je 0x1000650d
mov edx, dword [ebp + 0x1c]
cmp dword [edx], eax
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
jae 0x10004c87
cmp byte [ebp + 0x40], 0
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x14], esi
jne 0x100064da
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2a1], 0
je 0x10006548
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0x62], 0
je 0x1000654e
movsx ax, byte [eax + 0x62]
mov edx, dword [ebp + 0x18]
sub dword [ebp - 4], 2
add dword [ebp + 0x18], 2
mov word [edx], ax
mov edi, dword [ebx + 0xc]
or ecx, edi
xor ecx, dword [ebp - 0x54]
push 0x6a
push dword [ebp - 0x78]
call fcn.10004139
add dword [ebp - 0x68], 0
je 0x10006567
add byte [edx], dh
jae 0x1000654e
and byte [eax], al
and eax, 0x78006c00
add byte [eax], ah
add byte [0x78006c00], ah
add byte [eax], ah
add byte [0x78006c00], ah
add byte [eax], ah
add byte [0x78006c00], ah
add byte [eax], al
add byte [0xa007300], ah
add byte [0x25007300], ah
add byte [ebx], dh
and eax, 0x7300
add byte [edx], cl
add byte [eax], al
add byte [ebx], al
insb byte es:[edi], dx
add byte [ecx], ch
mov ecx, dword [ebp - 0x48]
and edx, eax
xor edx, dword [ebp - 0x74]
mov edx, 0xf000
cmp dword [ebp - 0x68], 0
je 0x100065ad
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x1000dea9]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0
mov dword [ebp - 4], eax
lea eax, [ebp - 0x50]
push eax
push 0
push dword [ebp + 0xc]
push dword [0x1000da62]
call fcn.10007262
mov esi, dword [0x1000d3f4]
mov ebx, eax
push ebx
mov dword [ecx], edx
cmp dword [ebp - 0x28], 0x6d
jne 0x100065ed
mov dword [eax + 4], ecx
push dword [esi + 0x14]
push dword [0x1000d636]
call fcn.1000aad8
push esi
push dword [0x1000dd90]
call 0x10007ea9
mov edi, dword [edi]
dec word [edi + 0x16e]
xor eax, eax
pop edi
pop esi
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
xor esi, ecx
add esi, 0x7004
lea ebx, [ebp - 0x44]
push ebx
call fcn.100042d5
and eax, ecx
and dword [ebp - 0x78], 0x6a
xor dword [ebp - 0x5c], 0x49c
mov edi, dword [ebp - 0x44]
and word [ebp - 0x74], 0x976
and dword [ebp - 0x38], edi
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000662c
nop
mov edi, edi
push ebp
add ebx, 0xaa73
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000666c
mov edi, eax
test edi, edi
jl 0x10006628
mov eax, dword [ebp + 8]
and dword [esi + 0x30], 0
test byte [eax], 8
je 0x100065e7
mov dword [esi + 0x30], 1
push dword [ebp - 4]
call 0x100070b9
mov eax, edi
pop edi
pop esi
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
push 0x72
call fcn.1000417b
cmp dword [ebp - 0x68], 0
je 0x100066b6
push esi
push edi
call fcn.10007433
and byte [esi + 0x141], 0xbf
push esi
call 0x100062ba
test dword [esi + 0x140], ebx
je 0x10006bfc
mov ebx, dword [0x1000d244]
mov edi, 0x1000d8bd
push edi
call ebx
push edi
mov dword [0x1000d261], esi
call dword [0x1000d054]
push 0
mov ebx, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 0xffffffaf
jne 0x100066e5
test ecx, ecx
jne 0x100066a4
xor eax, eax
pop esi
pop ebp
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc4]
push dword [eax + 0x1b4]
push 0x1000d84c
push eax
call 0x10006970
test eax, eax
jge 0x10006667
mov ecx, 0xc
cmp dword [ebp - 0x68], 0x61
jne 0x10006708
mov eax, 0x1000dff3
and word [edx], 0
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebx], ecx
and ebx, dword [ebp - 0x4c]
add edi, 0x3f7b
push dword [ebp - 0x38]
call fcn.10004280
xor eax, edi
and ebx, edi
call fcn.1000af94
and ecx, eax
and ebx, dword [ebp - 0x4c]
add dword [ebp - 0x38], 1
cmp dword [ebp - 0x68], 0x52
jne 0x1000675e
call 0x10005f4d
cmp byte [ebx + 0x48], 0
je 0x10006754
mov eax, dword [ebx + 0x28]
lea ecx, [ebp + 0x14]
push ecx
xor ecx, ecx
mov cx, word [ebx + 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x38]
push ecx
push dword [ebx + 0x54]
lea ecx, [ebp - 0x10]
push ecx
push eax
push esi
add eax, dword [ebp - 0x60]
sub edi, dword [ebp - 0x78]
cmp dword [ebp - 0x38], 5
jbe 0x100067ac
and eax, dword [ebp - 0x4c]
sub eax, ecx
mov edx, 4
cmp dword [ebp - 0x28], 0x10000002
jne 0x100067a3
mov dword [ebp - 0x38], edx
xor dword [ebp - 0x4c], ecx
sub esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x68], 0
je 0x100067e0
call 0x10009f47
mov ecx, dword [ebp - 4]
cmp ecx, ebx
je 0x10006819
mov byte [eax + ecx - 1], bl
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [ecx], ebx
and byte [ebx + 0x2d], 0xf7
mov edi, dword [edi]
mov eax, 0x1000e1a1
cmp edi, eax
mov dword [ebp - 0x7e0], edi
push eax
cmp dword [ebp - 0x28], 0x28
jne 0x10006827
cmp eax, ebx
je 0x10006823
mov ecx, dword [esi + 0x30]
or ecx, 0x1000ddfe
shl ecx, 0x10
push ecx
push eax
push edi
push eax
call fcn.1000a614
mov eax, 0x1000d652
mov ebx, 0x1000d654
cmp edx, ebx
je 0x100067d3
cmp edx, 0x1000d422
je 0x100067f7
lea eax, [ebp - 0x28]
push eax
push dword [0x1000d483]
push 2
push ecx
push dword [esi + 0x30]
push edx
push dword [ebp - 0x38]
or dword [ebp - 0x60], 0x39
call fcn.100044af
and eax, dword [ebp - 0x4c]
sub dword [ebp - 0x40], 4
jne 0x10005c2b
or ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x68], 0xffffffc7
jne 0x1000686b
lea ebx, [esi + 0x8c]
mov ecx, dword [ebx]
mov eax, ecx
inc edx
imul eax, edx
cmp eax, 0x50
jbe 0x100068b3
push edx
lea eax, [esi + 0x88]
mov edi, dword [eax]
push ecx
push eax
push esi
add edx, 0x85a8
mov ebx, dword [ebp - 0x70]
add edx, 0x40ff
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x5c], esi
sub ebx, 0x24
and word [ebp - 0x58], 0xa0d
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x38], ecx
test dword [ebp - 0x68], 0
je 0x100068e6
xor ecx, ecx
mov cx, word [esi + 0x2a]
sub cx, word [esi + 0x2e]
xor eax, eax
mov ax, word [esi + 0x6a]
add eax, ecx
test ax, ax
mov word [esi + 0x6a], ax
jl 0x100068c7
xor ecx, ecx
mov cx, word [esi + 0x2a]
sub cx, word [esi + 0x2e]
xor eax, eax
mov ax, word [esi + 0x26]
lea eax, [ecx + eax - 1]
and word [esi + 0x68], 0
and word [esi + 0x6a], 0
push esi
call fcn.1000abce
push 0x10
call dword [0x1000d034]
test ah, ah
jns 0x10006934
push dword [esi + 0x68]
lea eax, [ebp - 0x38]
test dword [ebp - 0x68], 0
je 0x1000692a
push esi
call 0x1000a6ff
mov eax, dword [ebp - 0xe4]
mov ebx, dword [esi + 0xb0]
xor edi, edi
mov ebx, dword [ebp - 0x104]
mov eax, dword [ebx + 0x48]
cmp eax, edi
je 0x10006979
push edi
push eax
mov eax, dword [ebx]
push dword [eax + 0xc8]
call dword [0x1000d1b0]
push ebx
call fcn.100090e2
push edi
push eax
cmp dword [ebp - 0x28], 0xffffffe1
jne 0x1000694d
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 4]
push eax
push dword [esi + 0x28]
call 0x10006dac
test eax, eax
push dword [ebp - 0x40]
or eax, dword [ebp - 0x54]
call fcn.100043fd
add edi, dword [ebp - 0x80]
and edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x38]
or edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x46
jne 0x100069ac
call fcn.1000a5dc
mov ecx, eax
mov eax, ebx
sub eax, dword [esi + 0x34]
sub eax, ecx
shr eax, 1
sub ebx, eax
sub dword [esi + 0x4c], eax
mov dword [esi + 0x44], ebx
mov eax, dword [esi + 0x18]
cmp eax, dword [0x1000de09]
jb 0x100069c5
push 0x1000d8a5
push edi
call 0x10005287
mov eax, dword [esi]
push 0
push 0x13
and eax, 0xffffffe7
push edi
or eax, 4
push esi
mov edx, dword [eax]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x28], 0x10000002
jne 0x100069d8
push eax
push dword [ebp + 8]
call 0x1000b234
test eax, eax
pop ecx
pop ecx
je 0x100069d6
mov esi, dword [esi]
cmp dword [ebp + 0xc], 0
je 0x1000717a
nop
nop
nop
lea ecx, [ebp - 0x38]
xor esi, dword [ebp - 0x34]
sub eax, edi
push ecx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10006a15
mov eax, dword [ebp + 0x18]
push dword [eax]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0xc]
push ecx
call fcn.10009199
mov dword [ebp + 8], eax
push dword [ebp - 0xc]
push dword [0x1000dd21]
call 0x100098f8
cmp dword [ebp + 0x14], 2
jne 0x100069c5
push dword [ebp - 0x50]
sub edi, eax
call fcn.100044af
add dword [ebp - 0x74], edx
xor dword [ebp - 0x74], edx
mov ebx, dword [ebp - 0x2c]
add esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10006a50
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub ebx, 0x34
xor ecx, dword [ebp - 0x54]
xor edx, dword [ebx + 0x88]
mov dword [ebp - 0x38], edx
add eax, dword [ebp - 0x78]
lea edi, [ebp - 0x30]
and eax, ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10006a9f
jge 0x10006aec
push dword [ebp - 8]
call dword [0x1000d018]
push dword [ebp - 0xc]
call dword [0x1000d048]
or byte [esi + 0x39], 8
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x74]
mov edi, dword [ebp - 0x10]
push 0x16
pop ecx
push dword [ebp - 0x14]
push dword [ebp - 8]
call fcn.10008dc9
push edi
or ecx, dword [ebp - 0x74]
push dword [ebp - 0x40]
sub ebx, ecx
call fcn.100043fd
and dword [ebp - 0x64], 0xed1
mov eax, dword [ebp - 0x30]
or word [ebp - 0x84], 0x327
mov esi, 0x1400
mov esi, eax
mov esi, ecx
mov esi, eax
add dword [ebp - 0x68], 0
je 0x10006b21
xor ecx, ecx
mov eax, dword [0x1000e119]
mov di, word [ebp - 0x140]
add eax, ecx
cmp di, word [eax + 8]
je 0x10009b28
inc edx
add ecx, 0x10
cmp edx, dword [0x1000e1c9]
jb 0x10006aa6
inc dword [ebp - 0x1f8]
push ebx
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x1f8]
lea eax, [ebp - 0x200]
push eax
call 0x100099be
test eax, eax
jge 0x10006aa0
jb 0x1000992e
sub esi, 0x10
mov ecx, dword [ebp - 0x38]
xor dword [ebp - 0x84], eax
mov dword [esi + 0x10], ecx
and dword [ebp - 0x64], edx
sub esi, edi
add dword [ebp - 0x5c], edx
lea edx, [ebp - 0x50]
push edx
call fcn.100042d5
xor dword [ebp - 0x80], ecx
xor ebx, dword [ebp - 0x5c]
and dword [ebp - 0x34], ebx
lea esi, [ebp - 0x30]
push esi
call fcn.100042d5
cmp dword [ebp - 0x28], 0x5e
jne 0x10006b8b
or ebx, dword [ebp - 0x84]
lea eax, [ebp - 0x2c]
push eax
call fcn.100042d5
xor dword [ebp - 0x4c], edx
sub eax, dword [ebp - 0x80]
xor esi, dword [ebp - 0x84]
lea eax, [ebp - 0x44]
push eax
call fcn.100042d5
mov edi, esi
cmp dword [ebp - 0x68], 0xffffffc1
jne 0x10006be5
test eax, eax
jne 0x10006bb7
xor esi, esi
push dword [ebp - 4]
push dword [0x1000da78]
call 0x10004b99
mov eax, esi
push esi
push 2
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x18]
call 0x10009287
push dword [ebp - 4]
push dword [0x1000ddd5]
lea edi, [ebp - 0x40]
push edi
call fcn.100042d5
lea ecx, [esi + 0x1175]
mov eax, dword [ebp - 0x70]
sub edx, ecx
mov dword [ebp - 0x48], eax
add dword [ebp - 0x64], 0xbfc
and ebx, edx
xor dword [ebp - 0x64], 0x2f
lea esi, [ebp - 0x70]
push esi
call fcn.100042d5
mov ebx, esi
cmp dword [ebp - 0x28], 1
je 0x10006c56
test eax, eax
je 0x10009bf8
push 4
lea eax, [ebp - 0xe8]
push eax
push 3
push dword [ebp - 0xdc]
mov dword [ebp - 0xe8], 2
call dword [0x1000d058]
mov esi, eax
cmp esi, edi
jne 0x10006c62
push edi
push dword [ebp - 0xdc]
call dword [0x1000d1dc]
mov eax, dword [ebp - 0x48]
or dword [ebp - 0x34], 0xd22
push dword [eax]
and eax, dword [ebp - 0x80]
add dword [ebp - 0x48], 0x10
xor dword [ebp - 0x58], 0xde
ret
mov edx, ecx
call fcn.10004390
or ecx, dword [ebp - 0x74]
or ebx, dword [ebp - 0x64]
add dword [ebp - 0x48], 0xfffffffc
or ecx, dword [ebp - 0x64]
or eax, edi
push dword [ebp - 0x40]
call fcn.10004280
or esi, dword [ebp - 0x58]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10006d4d
dec dword [eax + 0xc]
mov ecx, dword [esi + 0x2c]
mov eax, dword [ebp + 8]
shr ecx, 2
test byte [eax], 1
je 0x10006ce1
push ecx
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
call 0x10005a81
push 1
push ecx
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
call 0x1000776b
mov eax, dword [ebx]
sub ecx, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp + 0xc], ecx
cmp ecx, eax
mov ebx, ecx
push dword [ebp - 0x44]
call fcn.10004280
cmp dword [ebp - 0x28], 0x6d
jne 0x10006d86
push dword [ebp + 8]
call 0x100060b8
cmp eax, esi
jl 0x10006d77
mov byte [ebp + 0x3b], al
cmp byte [0x2a1], 0
mov ecx, dword [0x1000d30f]
je 0x10006d40
movsx ax, al
push eax
push ecx
call 0x1000789c
test eax, eax
push dword [ebp - 0x2c]
call fcn.10004280
or ebx, ecx
add edi, dword [ebp - 0x60]
push dword [ebp - 0x30]
call fcn.10004280
add ecx, dword [ebp - 0x34]
push dword [ebp - 0x50]
call fcn.10004280
cmp dword [ebp - 0x28], 0xffffffc0
jne 0x10006dce
push dword [ebp + 8]
call 0x10009a13
mov eax, esi
pop edi
pop esi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x10]
test byte [eax + 0x1c], 2
mov ecx, dword [ebp - 0x38]
lea edi, [ebp - 0x44]
or dword [ebp - 0x60], edx
push edi
sub eax, ecx
xor dword [ebp - 0x34], ecx
push ecx
add edx, ecx
call fcn.10004390
and ecx, dword [ebp - 0x80]
and dword [ebp - 0x4c], ecx
lea edi, [ebp - 0x44]
and ecx, dword [ebp - 0x7c]
push edi
or dword [ebp - 0x84], 0xffffffad
push dword [ebp - 0x40]
and dword [ebp - 0x84], eax
call fcn.100043fd
cmp dword [ebp - 0x68], 0x10000002
jne 0x10006e4b
mov eax, dword [eax + 0x20]
push dword [eax + 0x30]
push dword [ebp + 0xc]
call 0x10005408
mov edi, eax
test edi, edi
je 0x10006dfc
or word [ebp - 0x84], 0xcf5
mov ecx, dword [ebp - 0x70]
add dword [ebp - 0x7c], edx
mov ebx, dword [ebp - 0x50]
and dword [ebp - 0x54], 0x3bc
sub ecx, 4
and edx, dword [ebp - 0x54]
mov ebx, dword [ecx + 0xc]
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x28], 0x19
jne 0x10006e8a
mov byte [0x75b6d3dc], cl
mov cl, byte [eax]
cmp cl, 0x80
je 0x100091c0
cmp dword [ebp - 0x38], 0x8b
je 0x100070f0
cmp dword [ebp - 0x28], 1
je 0x100070e6
push dword [ebp + 8]
call 0x100076c2
mov eax, esi
pop esi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
push dword [esi + 0x28]
call 0x1000534d
mov ebx, eax
test ebx, ebx
jl 0x10007095
jmp 0x100083cb
and dword [ebp - 0x74], 0xc53
mov esi, 0xff0000
cmp dword [ebp - 0x68], 0x10000002
jne 0x10007132
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
push dword [esi + 0x28]
call fcn.10004a92
mov ebx, eax
test ebx, ebx
jl 0x100070c3
mov ecx, dword [ebp + 8]
test byte [ecx + 0x140], 0x10
je 0x10007138
and dword [ebp - 0x40], esi
xor ecx, dword [ebp - 0x78]
add word [ebp - 0x60], 0xdc3
sub dword [ebp - 0x48], 4
mov edx, esi
mov ecx, dword [ebp - 0x48]
xor eax, dword [ebp - 0x58]
mov ebx, 0x550000
cmp dword [ebp - 0x68], 0x10000002
jne 0x100071a3
mov edi, dword [ebp + 0x14]
jne 0x1000516c
sub edi, 0x14
mov eax, dword [esi + 0x28]
mov dword [esi + 0x2c], eax
and dword [eax + 0x1c], 0xfffffffd
mov eax, dword [esi + 0x10]
push dword [eax + 0x28]
push dword [0x1000dfde]
call 0x10005100
push eax
call ebx
mov eax, dword [esi + 0x10]
or dword [eax + 0x1c], 1
mov eax, dword [esi + 0xc]
push 0
push esi
push 1
add eax, 0x38
push eax
call dword [0x1000d14c]
push dword [esi + 0x10]
mov byte [ebp + 0x13], al
call edi
mov dword [ecx], ebx
add dword [ebp - 0x68], 0
je 0x100071e1
xor eax, eax
cmp dword [ebp - 0xe0], esi
mov dword [0x1000e143], eax
nop
nop
inc ebp
add byte [eax], bh
je 0x1000720a
add byte gs:[esi], ch
add byte fs:[ebp], ah
add byte fs:[ebp], al
add byte fs:[ecx], ch
je 0x10007213
imul eax, dword [eax], 0x65
add byte [ecx], bh
inc ebx
add byte [ebp], dh
jae 0x1000719e
je 0x100071e0
outsd dx, dword [esi]
xor dword [ebp - 0x34], ecx
lea esi, [ebp - 0x44]
push esi
call fcn.100042d5
xor dword [ebp - 0x7c], eax
xor dword [ebp - 0x54], 0xc5e
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x38], 0x8b
jne 0x10007917
xor ebx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x28], 1
je 0x10007259
mov dword [ebp - 0x1c], eax
test eax, eax
jl 0x10004ec9
and dword [ebp - 4], 0
or dword [ebp - 0x24], 0xffffffff
mov eax, dword fs:[0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x20]
mov ebx, dword [eax + 0x74]
mov dword [ebp - 0x2c], ebx
mov eax, dword [esi + 0x2c]
cmp eax, 1
je 0x10005eb1
cmp eax, 2
jne 0x100091b0
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + 0xb0]
mov ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x28], 1
je 0x1000729e
push 4
call 0x100052c4
cmp dword [esi], edi
je 0x10008e54
lea eax, [ebp + 0xc]
push eax
mov byte [ebx + 0x49], 0
push dword [esi]
call 0x100085ee
test eax, eax
jl 0x100054ac
mov eax, dword [ebp + 0xc]
test byte [eax + 0x141], 0x80
jne 0x10009955
mov eax, dword fs:[0x18]
cmp dword [ebp - 0x40], ecx
je 0x10007917
mov ecx, eax
and ecx, 3
movzx eax, word [ebx + 8]
mov ecx, dword [ebp - 8]
shr eax, 1
lea eax, [ecx + eax*2]
mov word [eax], 0x3d
movzx ecx, word [ebx + 0xa]
mov esi, dword [ebx + 0x10]
inc eax
mov edx, ecx
shr ecx, 2
inc eax
mov edi, eax
mov ecx, edx
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x30], 0xc
cmp dword [ebp - 0x28], 1
je 0x1000731f
mov eax, dword [ebx + 0x34]
je 0x100072c6
cmp word [ebp - 0x10], 0x7f
jne 0x100072ec
cmp eax, dword [ebx + 0x38]
je 0x10007292
cmp word [eax - 2], 0x20
je 0x10007338
cmp word [0x75b6d4a0], 0
je 0x100072e9
and esi, edi
mov ebx, dword [ebp - 0x70]
add edi, ebx
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000735a
inc ebp
add byte [edx], dl
xor eax, dword [eax]
xor al, byte [eax]
add byte [eax], al
push esi
push 0x1000e140
call dword [0x1000d148]
mov edi, eax
cmp edi, esi
jge 0x10006866
push 0x2d
push 1
nop
nop
nop
nop
sub ebx, 0x28
xor word [ebp - 0x64], 0x620
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x68], 0x10000002
jne 0x100073a7
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x12]
imul eax, dword [ebp + 0x10]
test ax, ax
jle 0x10007332
push esi
movzx esi, ax
mov eax, dword [ebp + 8]
push dword [eax + 0x1a8]
push 1
push dword [ebp + 0xc]
call 0x10009f47
add dword [ebp + 0xc], 4
dec esi
jne 0x100073dd
pop esi
push dword [ebp - 0x70]
call fcn.10004280
add dword [ebp - 0x68], 0
je 0x10007422
push eax
push ebx
call fcn.10009199
mov ecx, dword [ebp - 0x154]
mov ax, word [ecx + 0x68]
and word [ebp - 0x162], 0
and word [ebp - 0x15e], 0
mov word [ebp - 0x164], ax
mov eax, dword [ebp - 0x144]
cmp dword [ebp + 0x18], eax
jae 0x10004b33
mov eax, dword [ebp + 0x18]
and dword [ebp - 0x13c], 0
cmp eax, dword [ebp - 0x144]
lea edi, [ebp - 0x130]
lea ebx, [ebp - 0x68]
jae 0x10007180
mov eax, dword [ebp - 0x48]
lea ebx, [ebp - 0x70]
add edx, eax
push ebx
and edx, ebx
cmp dword [ebp - 0x28], 1
je 0x1000744d
mov edi, edi
push ebp
mov ebp, esp
mov ax, word [ebp + 0xc]
push esi
push eax
xor edx, esi
call fcn.10004390
cmp dword [ebp - 0x28], 1
je 0x100074a2
jl 0x1000746c
mov esi, dword [ebp + 0xc]
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x18]
add eax, edi
cdq
idiv ecx
movsx eax, dx
push dword [esi + eax*4 + 0x28]
push dword [0x1000dbd9]
call 0x10005100
inc edi
movsx eax, word [esi + 0x10]
cmp edi, eax
jl 0x1000748e
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov dword [eax + 4], ecx
sub dword [ebp - 0x48], 0x60
xor dword [ebp - 0x34], ecx
or dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x50]
and eax, dword [ebp - 0x54]
mov ebx, eax
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x10000002
jne 0x100074e1
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x10007473
pop edi
mov eax, dword [eax + 0x14]
mov si, word [edx + 0x32]
mov word [eax + 0x32], si
mov eax, dword [ecx + 0x14]
mov cx, word [edx + 0x32]
mov word [eax + 0x32], cx
sub edx, 0x2c
test dword [ebp - 0x68], 0
je 0x10007521
pop edi
pop esi
pop ebp
add byte [eax], al
and al, 0
add byte [eax], al
or byte [eax], al
and al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and eax, 0x8000000
add byte [0], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add edi, dword [edx + 0xd4]
mov dword [ebp - 0x38], edi
or dword [ebp - 0x84], ebx
and ebx, dword [ebp - 0x80]
sub dword [ebp - 0x38], 0x1c
sub ecx, ebx
add esi, dword [ebp - 0x84]
lea edx, [ebp - 0x38]
and eax, ecx
xor edi, edx
push edx
mov dword [ebp - 0x64], ebx
push dword [ebp - 0x30]
or ebx, eax
call fcn.100043fd
xor eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x38]
sub edx, dword [ebp - 0x84]
xor dword [ebp - 0x74], esi
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x74], 0xe16
mov ebx, dword [esi]
mov dword [ebp - 0x2c], ebx
add esi, 0xd939
or eax, edi
cmp dword [ebp - 0x28], 0x10000002
jne 0x100075b4
mov edi, ebx
cmp word [eax], 0x24
jne 0x100075d2
cmp cx, 0x31
jb 0x100075b2
cmp cx, 0x39
ja 0x1000760c
add ecx, 0xffffffd0
cmp cx, word [ebp - 0x1c]
jbe 0x100075a0
mov dword [ebp - 0x1c], ecx
cmp cx, 0x2a
jne 0x10007586
mov esi, dword [ebp - 0x2c]
xor dword [ebp - 0x84], edx
or dword [ebp - 0x2c], esi
jne 0x1000761a
add esi, 0xb9df
lea edi, [edi + 0xf29]
xor dword [ebp - 0x64], ebx
mov edx, dword [ebp - 0x38]
xor edi, edx
mov eax, dword [ebp - 0x2c]
and ebx, dword [ebp - 0x84]
sub edx, 0x10
cmp dword [ebp - 0x28], 1
je 0x1000760e
call 0x10009791
push edi
call 0x100094f3
and dword [esi + 0x84], 0xfffffffe
lea eax, [esi + 0x28]
push eax
push esi
call 0x1000953d
pop edi
pop esi
xor eax, eax
pop ebx
leave
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
or eax, dword [ebp - 0x84]
push dword [ebp - 0x38]
call fcn.10004280
mov esi, ecx
push dword [ebp - 0x44]
call fcn.10004280
add dword [ebp - 0x68], 0
je 0x1000766e
mov dword [ebp - 0x21ec], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2200], eax
lea eax, [ebp - 0x2218]
push eax
lea eax, [ebp - 0x221c]
push eax
mov dword [ebp - 0x21e8], esi
mov esi, 0x1000d522
push esi
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2214]
call 0x10007dc1
cdq
mov dword [ebp - 0x3c], esp
or dword [ebp - 0x80], ecx
mov esp, dword [ebp - 0x48]
add dword [ebp - 0x68], 0
je 0x100076b9
mov dword [ebx + 0x9c], 1
push edi
call dword [0x1000d0c4]
push eax
call fcn.10008754
mov eax, 0x1000e192
push eax
call 0x1000a435
mov eax, 0x1000e065
and dword [esi], 0
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0xffffffad
jne 0x100076e6
movsx ecx, word [ebp + 0xc]
cdq
idiv ecx
mov edx, eax
xor eax, eax
mov ax, word [ebx + 0x28]
add edx, eax
mov word [ebp - 8], dx
mov eax, dword [esi + 8]
dec eax
cdq
idiv ecx
mov ecx, eax
xor eax, eax
mov ax, word [ebx + 0x28]
call ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
add ebx, 0xd119
sub ebx, dword [ebp - 0x64]
mov dword [ebp - 0x48], esp
or edx, dword [ebp - 0x84]
mov esp, dword [ebp - 0x3c]
and dword [ebp - 0x80], edx
mov edi, dword [ebp - 0x70]
or esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], edi
add dword [ebp - 0x68], 0
je 0x10007732
sub ebx, dword [ebp - 0x84]
lea ebx, [ebp - 0x70]
push ebx
call fcn.100042d5
xor ebx, dword [ebp - 0x4c]
add dword [ebp - 0x30], 8
add eax, dword [ebp - 0x60]
sub dword [ebp - 0x40], 1
jne 0x100072f0
or esi, dword [ebp - 0x7c]
xor edx, edi
lea edi, [eax]
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 1
je 0x100077a5
push dword [esi]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [esi + 0x2c], eax
lea eax, [edi + ebx]
mov dword [esi + 0x30], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x34], eax
push dword [0x1000dd93]
call 0x1000b26d
mov eax, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 0x1c], ebx
mov dword [esi], edi
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
mov esi, dword [ebp - 0x38]
and dword [ebp - 0x7c], esi
sub eax, 0x3c
add dword [ebp - 0x54], 0x61
mov esi, dword [eax + 0x48]
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x28], 0x10000002
jne 0x10007819
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jae 0x10009157
xor edi, edi
inc edi
mov dword [ebp + 0x30], edi
cmp dword [ebp + 0x30], esi
je 0x100074fe
cmp word [ebp - 0x20], di
jne 0x10005c0c
mov ax, word [ebp - 0x12]
cmp ax, si
je 0x100077e6
mov cx, ax
shr cx, 8
add eax, 0x73a9
mov edx, dword [ebp - 0x50]
add word [ebp - 0x64], 0xfee
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x58], ecx
sub edx, 0x20
add eax, dword [ebp - 0x78]
add ecx, dword [edx + 0xc4]
mov dword [ebp - 0x38], ecx
xor eax, edx
mov ebx, dword [ebp - 0x38]
add esi, edi
mov edx, dword [ebp - 0x2c]
xor dword [ebp - 0x80], esi
mov edx, dword [ebx]
mov dword [ebp - 0x2c], edx
sub esi, dword [ebp - 0x84]
add dword [ebp - 0x4c], 0x34
sub dword [ebp - 0x48], 4
mov edi, edx
and esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x48]
add dword [ebp - 0x68], 0
je 0x10007883
mov ebx, dword [0x1000e0ba]
push 0x30
push 0x40
call ebx
mov esi, eax
test esi, esi
je 0x10007871
mov eax, dword [edi + 0x2c]
inc eax
inc eax
push eax
mov ecx, 0
and dword [ebp - 0x5c], edi
mov dword [edi], ecx
add ecx, dword [ebp - 0x84]
mov dword [ebp - 0x3c], esp
cmp dword [ebp - 0x28], 1
je 0x100078c9
push eax
push dword [esi]
call dword [0x1000d11c]
cmp edi, ebx
jne 0x10007880
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x24], eax
jne 0x100078c0
mov esp, dword [ebp - 0x48]
add dword [ebp - 0x4c], ebx
mov esi, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x54]
add dword [ebp - 0x80], eax
call esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
xor eax, edx
mov dword [ebp - 0x48], esp
cmp dword [ebp - 0x28], 1
je 0x10007911
je 0x10007879
mov esp, dword [ebp - 0x3c]
and dword [ebp - 0x4c], esi
cmp dword [ebp - 0x68], 0
je 0x10007949
push eax
push dword [esi + 0x28]
call 0x100069ba
push edi
call dword [0x1000d05c]
cmp byte [esi + 0x8d], 0
je 0x100079fc
cmp byte [esi + 0x8c], 0
je 0x100079ce
lea eax, [esi + 0x30]
mov dword [esi + 0x88], eax
push dword [ebp + 0xc]
push dword [ebp + 0x10]
push esi
call 0x1000ae5d
mov edi, eax
cmp edi, 0x1000e046
je 0x100081d6
cmp byte [esi + 0x8d], 0
or eax, ebx
and eax, dword [ebp - 0x34]
sub dword [ebp - 0x48], 4
or ecx, dword [ebp - 0x74]
and ebx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x48]
or dword [ebp - 0x60], esi
mov ebx, 0x2e32336c
or ecx, dword [ebp - 0x80]
mov dword [edi], ebx
add eax, 0xdb55
xor edi, dword [ebp - 0x64]
cmp dword [ebp - 0x28], 1
je 0x10007a78
movsx edx, di
mov dword [ebp - 0x140], eax
mov ax, word [esi + 0x2a]
add edx, dword [ebp - 0x140]
sub cx, ax
lea eax, [ecx + 1]
movsx eax, ax
dec eax
dec eax
cmp edx, eax
jle 0x10007aaa
sub ecx, dword [ebp - 0x140]
dec ecx
test cx, cx
jge 0x10007aed
xor ecx, ecx
sub dword [ebp - 0x48], 4
cmp dword [ebp - 0x28], 0x10000002
jne 0x10007ad4
push eax
push dword [0x1000dcd5]
call edi
cmp eax, 0xffffffff
je 0x10005ca8
add dword [ebp - 0x4a], 0x1000d2
cmp word [ebp - 0x40], bx
jne 0x10007a97
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.10006f95
movzx ecx, word [ebp - 0x34]
movzx eax, al
imul eax, ecx
add eax, 0xc
push eax
push dword [0x1000e12a]
push dword [0x1000ddba]
call dword [0x1000d0c4]
mov esi, eax
mov edx, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0
je 0x10007b0c
mov ax, word [ebp - 0x38]
mov word [ebp + 0xc], ax
mov ax, word [ebp - 0x36]
mov word [ebp + 0xe], ax
lea eax, [ebp - 0x24]
push eax
push esi
push dword [0x1000d2fa]
xor ebx, ebx
push dword [ebp + 0xc]
mov word [ebp - 0x24], bx
push dword [ebp + 8]
mov word [ebp - 0x22], bx
mov word [ebp - 0x20], cx
mov esi, 0x6c656873
sub ecx, dword [ebp - 0x74]
xor word [ebp - 0x78], 0x8f5
mov dword [edx], esi
add word [ebp - 0x84], 0x2e4
or eax, edi
mov eax, dword [ebp - 0x48]
mov dword [eax - 4], eax
sub dword [ebp - 0x48], 4
or esi, dword [ebp - 0x4c]
add edx, 0xd1cf
mov ebx, dword [ebp - 0x70]
and dword [ebp - 0x78], ebx
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10007b90
cmp ax, 0x20
ja 0x10007ae9
inc edi
inc edi
mov dword [ebp - 0x814], edi
mov ax, word [edi]
test ax, ax
jne 0x10007b71
test ecx, ecx
jbe 0x10007bb2
cmp ecx, 0x1000df4f
ja 0x10007bcf
lea esi, [ecx + ecx]
lea eax, [esi + 2]
push eax
push 0x40
call dword [0x1000d0e0]
test eax, eax
mov dword [ebp - 0x81c], eax
je 0x10007bab
mov ecx, esi
mov esi, dword [ebp - 0x828]
mov edi, eax
mov eax, ecx
sub ebx, 4
add edx, dword [ebp - 0x7c]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x38], edi
or dword [ebp - 0x54], edi
and dword [ebp - 0x5c], ebx
mov edx, dword [ebp - 0x50]
cmp dword [ebp - 0x68], 0
je 0x10007bd2
nop
nop
mov edi, edi
push ebp
mov ebp, esp
movzx eax, byte [ebp + 0xd]
movzx dx, byte [ebp + 0xc]
mov ecx, eax
push esi
mov esi, dword [ebp + 8]
shr ecx, 4
mov ecx, dword [esi + ecx*4 + 0xc]
test ecx, ecx
je 0x10007c03
and eax, 0xf
mov eax, dword [ecx + eax*4]
mov esi, dword [ebp - 0x38]
and word [ebp - 0x60], 0x599
sub edx, 0x18
add ecx, dword [ebp - 0x7c]
add esi, dword [edx + 0xc0]
mov dword [ebp - 0x38], esi
mov ebx, ecx
add dword [ebp - 0x68], 0
je 0x10007c18
push edi
push esi
call fcn.10007cf8
cmp eax, 0xc0030001
pop ebx
pop edi
pop esi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
cmp byte [ebp + 0x1c], 0
push ebx
push esi
jne 0x1000462e
mov ebx, dword [ebp - 0x38]
add ecx, ebx
mov esi, dword [ebp - 0x2c]
xor eax, ebx
or word [ebp - 0x5c], 0x164
mov esi, dword [ebx]
mov dword [ebp - 0x2c], esi
add eax, ecx
add ebx, dword [ebp - 0x58]
mov dword [ebp - 0x3c], esp
and dword [ebp - 0x80], eax
mov esp, dword [ebp - 0x48]
xor esi, dword [ebp - 0x54]
and dword [ebp - 0x5c], edi
mov ecx, dword [ebp - 0x2c]
xor eax, edx
call ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
add esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x28], 1
je 0x10007ca0
mov word [esi + 0x2c], cx
mov edi, dword [edi + 0xc]
xor eax, eax
mov ax, word [esi + 0x2e]
xor ecx, ecx
mov cx, word [esi + 0x2a]
sub dx, ax
cmp edi, dword [ebx + 0xdc]
mov dword [ebp + 0x10], eax
lea edx, [edx + ecx - 1]
jne 0x10009c13
mov dword [ebp - 0x48], esp
cmp dword [ebp - 0x28], 1
je 0x10007cd3
sub esi, dword [ebp - 0x54]
lea eax, [ebp - 0x40]
xor esi, dword [ebp - 0x84]
xor dword [ebp - 0x60], edi
push eax
test dword [ebp - 0x68], 0
je 0x10007d98
jl 0x10007d77
push 1
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x218]
call dword [0x1000d1a4]
test al, al
jne 0x10007d6b
inc ebx
cmp ebx, 0x1a
jb 0x1000423b
mov eax, 0x1000dff9
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call 0x100071ab
add bl, 0x41
mov byte [esi], bl
mov byte [esi + 1], 0x3a
mov byte [esi + 2], 0
xor eax, eax
nop
nop
push dword [ebp - 0x40]
and esi, dword [ebp - 0x84]
add edi, dword [ebp - 0x58]
call fcn.1000451d
and dword [ebp - 0x4c], eax
or dword [ebp - 0x74], edx
xor dword [ebp - 0x74], ebx
push 0xffffffffffffffbb
push 0xffffffffffffffc4
call fcn.10004139
cmp dword [ebp - 0x28], 0x26
jne 0x10007ddf
mov edi, 0x1000d553
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
push eax
mov esi, dword [ebp - 0x48]
and edi, dword [ebp - 0x78]
and dword [ebp - 0x60], edx
mov ebx, 0x8b
xor dword [ebp - 0x58], edx
mov dword [esi], ebx
add edi, 0x6a9a
xor dword [ebp - 0x5c], 0x247
push dword [ebp - 0x30]
call fcn.10004280
xor dword [ebp - 0x4c], edx
cmp dword [ebp - 0x68], 0
je 0x10007e3f
push esi
push ebx
call 0x10008954
mov ecx, dword [ebp - 4]
cmp ecx, ebx
je 0x10007ded
mov byte [eax + ecx - 1], bl
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [ecx], ebx
and byte [ebx + 0x2d], 0xf7
mov edi, dword [edi]
mov eax, 0x1000d724
cmp edi, eax
mov dword [ebp - 0x7e0], edi
jae 0x10007dd7
mov ebx, dword [ebp - 0x70]
xor dword [ebp - 0x34], esi
mov ecx, dword [ebp - 0x38]
xor edi, eax
sub ebx, 0x3c
cmp dword [ebp - 0x28], 1
je 0x10007e91
call dword [0x1000d154]
mov eax, dword [ebp + 8]
push eax
push ebx
call 0x10007332
cmp dword [ebp + 0x10], 0
jne 0x10007e5c
cmp dword [0x1000de2d], edi
mov eax, 0x1000da2b
je 0x10007eec
mov eax, dword [eax]
cmp dword [eax], edi
jne 0x10007e5c
push esi
mov dword [eax], ebx
call dword [0x1000d140]
cmp dword [ebp - 4], edi
je 0x10007e10
mov ecx, dword [ebx + 0x48]
mov dword [ebp - 0x38], ecx
or word [ebp - 0x7c], 0xa33
or ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x68], 0
je 0x10007ed1
mov dword [0x1000d9a8], 0x10000
nop
nop
dec ebp
add byte [edi], ch
add byte fs:[ebp], ah
inc esi
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x50], dh
add byte [ecx], ah
imul eax, dword [eax], 0x730072
add byte [eax], al
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0xffffffb3
jne 0x10007f02
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 4]
push eax
push dword [esi + 0x28]
call fcn.1000aa84
test eax, eax
jl 0x10007f5f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x3c]
sub eax, 0x34
sub ebx, dword [ebp - 0x54]
sub edx, dword [ebp - 0x7c]
add edi, dword [eax + 0xe0]
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x28], 1
je 0x10007f45
nop
mov edi, edi
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
cmp dword [edx + 0x110], 0
jne 0x10007ee2
mov eax, dword [edx]
add eax, 0x140
mov ecx, 0x1000d909
test dword [eax], ecx
jne 0x10007f48
or dword [eax], ecx
mov eax, dword [edx]
push 0x1000d7b6
mov ecx, dword [ebp - 0x38]
add edi, dword [ebp - 0x60]
mov esi, dword [ebp - 0x2c]
xor edi, dword [ebp - 0x84]
mov esi, dword [ecx]
mov dword [ebp - 0x2c], esi
xor dword [ebp - 0x5c], ebx
mov dword [ebp - 0x3c], esp
add ebx, dword [ebp - 0x74]
xor edi, dword [ebp - 0x5c]
mov esp, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0
je 0x10007f99
mov ecx, dword [ebp - 0x2c]
add eax, ecx
cmp dword [ebp - 0x28], 0xffffffdd
jne 0x10007fca
or dword [ebp + 0x24], 8
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edx
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call 0x10009023
pop esi
pop edi
pop ebp
nop
nop
nop
nop
nop
call ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
xor eax, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008013
jg 0x10008010
test ax, ax
jg 0x10007ff5
jg 0x10008043
sub esi, ecx
shl esi, 2
push esi
push edx
push edx
mov dword [ebp - 0x48], esp
and ecx, edi
mov esp, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], eax
xor ecx, ebx
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x55
jne 0x10008066
mov edi, dword [ebp + 0xc]
xor ecx, ecx
cmp edi, dword [0x1000dab7]
jne 0x10008d6c
mov esi, dword [ebp - 0x38]
add dword [ebp - 0x84], 0xbd8
mov esi, dword [edx]
mov dword [ebp - 0x38], esi
add dword [ebp - 0x68], 0
je 0x100080a7
or dword [esi + 0x140], 8
dec esi
in eax, dx
mov bl, 0x75
push cs
in eax, dx
mov bl, 0x75
and ebp, ebp
mov bl, 0x75
push ebp
in eax, dx
mov bl, 0x75
mov ecx, 0xff
cmp dword [ebp - 0x28], 0x38
jne 0x10008127
cmp byte [ebx + 0x76], al
jne 0x10004f74
cmp byte [esi + 0x2a1], al
je 0x100080c3
cmp byte [ebp - 0x19], al
je 0x100080e8
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0xc]
cmp byte [ecx + 0x62], al
je 0x10008119
dec dword [ebx + 0x70]
test byte [ebx + 0x74], 1
jne 0x1000816d
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
add eax, 0x54
push eax
push dword [esi + 0x248]
push dword [ebx + 0x70]
mov edi, dword [ebp - 0x24]
push edi
push esi
and dword [ebp - 0x38], ecx
cmp dword [ebp - 0x28], 0x49
jne 0x10008174
mov ebp, esp
mov ecx, dword [ebp + 8]
xor eax, eax
mov edx, dword [eax*8 + 0x75b6d220]
test edx, edx
jne 0x10008aae
cmp eax, 0x20
je 0x10008172
mov edx, dword [ecx]
shl eax, 3
mov dword [eax + 0x75b6d220], edx
mov dx, word [ecx + 8]
mov word [eax + 0x75b6d224], dx
movzx cx, byte [ecx + 0xe]
mov word [eax + 0x75b6d226], cx
pop ebp
inc eax
cmp eax, 0x20
jge 0x100081c3
sub esi, dword [ebp - 0x58]
mov edx, ebx
cmp dword [ebp - 0x38], 0x55
je 0x10008aef
or ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 1
je 0x100081b9
sub eax, dword [esi + 0x28]
inc eax
movsx eax, ax
dec eax
cmp ecx, eax
jge 0x10008137
mov eax, dword [ebp - 0x140]
push 2
pop ecx
add word [ebp - 0x138], cx
mov word [edi], ax
add edi, ecx
mov byte [ebx], 1
inc ebx
mov word [edi], ax
add edi, ecx
and esi, dword [ebp - 0x78]
add dword [ebp - 0x68], 0
je 0x100081f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x140]
test eax, 0x400000
jne 0x10004682
test ah, 0x10
jne 0x1000a4a3
cmp dword [ebp - 0x38], 0x8b
je 0x10008aef
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [eax]
cmp byte [ecx + 0x2a2], 0
push eax
push dword [ebp + 8]
je 0x10008293
cmp dword [ebp - 0x28], 0xfffffff3
jne 0x10008235
xor eax, eax
pop edi
pop esi
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
cmp dword [ebp - 0x38], 0xff
je 0x10008aef
mov eax, edi
xor ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 1
je 0x1000827f
push dword [ebp - 0x1c]
call 0x10005038
test eax, eax
jne 0x1000825e
push 0
lea eax, [ebp - 0x44]
push eax
call 0x1000a9a9
test eax, eax
jne 0x100082c0
lea eax, [ebp - 0x44]
push eax
call 0x10006166
lea eax, [ebp - 0x44]
push eax
call fcn.100079c5
xor eax, eax
push 1
push eax
mov edx, dword [ebp - 0x50]
and eax, dword [ebp - 0x84]
add ebx, ecx
mov esi, dword [ebp - 0x44]
or ecx, dword [ebp - 0x34]
sub edx, 0x3c
lea edi, [ecx + 0x32]
add eax, esi
lea esi, [edx + 0xb4]
mov dword [ebp - 0x44], esi
add dword [ebp - 0x68], 0
je 0x100082e2
push dword [esi + 0x38]
push dword [esi + 0x30]
call 0x10005bf7
mov dword [ebp - 0x1c], eax
test eax, eax
jge 0x1000616e
nop
nop
nop
nop
nop
cmp dword [ebp - 0x1c], 0
jl 0x1000697e
push dword [ebp - 0x28]
call 0x10005bf7
mov dword [ebp - 0x1c], 0xc000000d
nop
nop
nop
nop
nop
mov edi, edi
cmp dword [ebp - 0x28], 0xfffffff0
jne 0x10008330
mov ebx, dword [ebp - 0x44]
cmp dword [ebp - 0x68], 0xffffffe4
jne 0x10008382
mov ecx, dword [edi + 8]
lea eax, [ecx + eax*2]
mov cx, word [eax + 2]
cmp cx, 0x78
je 0x1000846b
cmp cx, 0x58
je 0x100068b9
cmp cx, 0x6e
je 0x100064e2
cmp word [eax], 0x30
jne 0x10007596
lea ecx, [edx - 1]
xor eax, eax
mov ax, word [esi + 0x154]
movsx edx, ax
cmp edx, ecx
jge 0x10006d11
mov dword [ebx], 1
cmp dword [ebp - 0x68], 0
je 0x100083cb
mov ebp, esp
push ecx
push ecx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
push dword [esi + 0x28]
call 0x1000a9a9
test eax, eax
jl 0x1000921a
push ebx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 4]
push ecx
push 0x1000dd79
push 1
push dword [esi + 0x2c]
mov dword [ebp - 8], eax
mov ecx, 1
or esi, dword [ebp - 0x5c]
or dword [ebp - 0x7c], ebx
mov dword [ebp - 0x40], ecx
and word [ebp - 0x58], 0xde2
mov ecx, 0xc
mov byte [ebp - 0x4c], 0xc8
mov dword [ebp - 0x30], ecx
or dword [ebp - 0x54], eax
or dword [ebp - 0x74], 0xffffffa2
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 1
je 0x1000842c
mov word [ebx + 0x14], ax
mov word [ebx + 0x16], di
mov word [ebx + 0x18], dx
jle 0x10008440
lea eax, [ebx + 0x28]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0xc]
movsx eax, word [ecx + 0x16]
movsx esi, word [ecx + 0x18]
add eax, edi
cdq
idiv esi
inc edi
movsx eax, dx
mov eax, dword [ecx + eax*4 + 0x28]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0xffffffcf
jne 0x10008455
cmp dword [ebp + 0x14], 0
je 0x1000844b
pop esi
mov eax, ebx
pop ebx
pop edi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [0x1000db4a]
sub esi, 0x38
mov word [ebp - 0x5c], 0x958
mov edi, dword [esi + 0x44]
mov dword [ebp - 0x38], edi
or ecx, ebx
lea ebx, [ecx]
or ebx, dword [ebp - 0x78]
add dword [ebp - 0x84], edi
mov eax, dword [ebp - 0x50]
mov word [ebp - 0x84], 0x3d5
mov esi, dword [ebp - 0x38]
sub ecx, esi
sub eax, 0x34
mov ecx, eax
mov dword [eax + 0xac], esi
cmp dword [ebp - 0x68], 0x10000002
jne 0x100084cd
add byte [ebx], dh
outsd dx, dword [esi]
add byte [eax + eax + 0x65], ch
add byte [eax], dl
jb 0x100084a3
outsd dx, dword [esi]
add byte [edi], ah
insd dword es:[edi], dx
add byte [ecx], ah
outsb dx, byte [esi]
add byte [eax], cl
popal
add byte [esi], ch
add byte fs:[eax + eax + 0x65], ch
add byte [eax], al
add byte [eax + 0x3e5], bh
cmp edi, eax
jbe 0x10009d86
mov eax, 0x1000d547
push dword [ebp - 0x70]
call fcn.10004280
add dword [ebp - 0x7c], 0x117
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x70]
add ecx, dword [ebp - 0x78]
mov edx, eax
push eax
xor ebx, eax
push esi
or ebx, dword [ebp - 0x4c]
mov byte [ebp - 0x54], 0xd4
call fcn.10004390
cmp dword [ebp - 0x28], 1
je 0x1000852d
sub dword [ebp - 0x48], 0x40
mov byte [ebp - 0x84], 0xf7
cmp dword [ebp - 0x28], 0xffffffd2
jne 0x10008551
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
mov edi, dword [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x38]
sub esi, dword [ebp - 0x80]
sub edi, 0x10
add dword [ebp - 0x54], ebx
add eax, dword [edi + 0xb0]
mov dword [ebp - 0x38], eax
add edi, 0x80a5
lea ebx, [edx - 0x26]
lea edx, [ebp - 0x38]
cmp dword [ebp - 0x68], 0x77
jne 0x100085bf
mov edi, edx
mov ecx, eax
and ecx, 3
mov edi, dword [ebp - 0x24]
push 2
add edx, ebx
mov ebx, dword [ebp - 0x3c]
pop ecx
cmp ax, 0x6c
je 0x1000860c
cmp ax, 0x42
je 0x1000860a
cmp ax, 0x74
je 0x10008542
cmp ax, 0x54
je 0x100085b7
push edx
and esi, dword [ebp - 0x84]
push dword [ebp - 0x30]
and dword [ebp - 0x84], 0x8af
call fcn.100043fd
or eax, dword [ebp - 0x78]
and dword [ebp - 0x7c], 0x51c
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008619
jl 0x100085ad
cmp cx, di
jge 0x1000a83a
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10008009
cmp dword [esi + 0x6c], 0x32
jbe 0x100085ad
shr ecx, 1
shl ecx, 1
mov edi, dword [esi + 0x68]
movsx eax, word [esi + 0x60]
movsx ebx, word [esi + 0x26]
mov esi, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008651
mov dword [esi + 4], ecx
and edx, eax
and ecx, eax
mov esi, dword [eax]
mov dword [ebp - 0x2c], esi
sub esi, edx
and dword [ebp - 0x60], 0x1a
mov esi, dword [ebp - 0x2c]
and ebx, dword [ebp - 0x60]
or dword [ebp - 0x2c], esi
jne 0x100086ce
xor dword [ebp - 0x74], 0x93d
or esi, ebx
mov ecx, dword [ebp - 0x38]
and edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0x10000002
jne 0x100086b6
shr eax, 1
mov word [edi + eax*2], 0xa
mov eax, dword [ebp - 0x110]
shr eax, 1
mov word [edi + eax*2], 0xd
cmp di, word [ebp + 0x18]
jne 0x10007855
sub ecx, 0x2c
add edi, 0xb14
or dword [ebp - 0x84], ecx
mov esi, dword [ecx + 0x30]
mov dword [ebp - 0x2c], esi
add esi, dword [ebp - 0x54]
add dword [ebp - 0x68], 0
je 0x100086f5
mov eax, dword [ebp - 0x20]
or dword [eax], 8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
dec dword [eax + 0xc]
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x2c]
cmp dword [ebp - 0x24], 0xffffffff
je 0x1000646e
mov edx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x60]
or ebx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x44]
sub esi, dword [ebp - 0x80]
sub edx, 0x24
cmp dword [ebp - 0x68], 0
je 0x10008732
lea eax, [ebp - 0xe4]
push eax
mov dword [ebp - 0x48], esp
sub edx, dword [ebp - 0x78]
mov esp, dword [ebp - 0x3c]
and edi, esi
mov ebx, dword [ebp - 0x70]
xor eax, ebx
mov dword [ebp - 0x48], ebx
and edi, dword [ebp - 0x80]
or edx, dword [ebp - 0x64]
and dword [ebp - 0x5c], edi
lea edx, [ebp - 0x70]
push edx
call fcn.100042d5
add ebx, 0xbea
add dword [ebp - 0x30], 0xc
add ecx, edi
or ebx, dword [ebp - 0x60]
sub dword [ebp - 0x40], 1
jne 0x100083ee
add ecx, 0x438
cmp dword [ebp - 0x28], 1
je 0x100088c4
lea eax, [ebp - 0x7d4]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.1000ab8f
cmp eax, edi
jne 0x10008842
and byte [ebx + 0x2d], 0xf7
cmp word [ebp - 0x5cc], di
je 0x1000883c
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x7e8], ecx
mov dword [ebx + 0x1c], edi
cmp eax, 1
mov ecx, dword [ebp - 0x3bc]
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008907
add ecx, ecx
mov dword [ebp + 8], ecx
movzx eax, word [eax]
cmp eax, edx
ja 0x10008913
mov eax, edx
cmp byte [ebx + 0x48], 0
mov dword [ebx + 0x2c], eax
je 0x100088f7
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 4]
push ecx
xor ecx, ecx
mov cx, word [ebx + 0x3c]
push 7
push ecx
lea ecx, [ebp + 0x1c]
push ecx
lea ecx, [ebp + 8]
push ecx
push eax
push eax
push dword [ebx + 0x38]
push dword [ebx + 4]
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000894b
push dword [eax + 0xc8]
call 0x10008435
test eax, eax
je 0x10008901
add dword [ebp + 0x1c], 2
inc dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
dec dword [ebp - 4]
cmp eax, dword [ebp + 0x10]
jb 0x100089a4
mov eax, dword [ebp - 4]
imul eax, eax, 0xffffffec
add dword [ebp + 8], eax
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
movzx eax, word [ebp + 8]
sub ecx, 0x20
cmp dword [ebp - 0x28], 1
je 0x10008997
mov word [esi + 0x6a], cx
xor ecx, ecx
mov cx, word [esi + 0x2e]
sub cx, word [esi + 0x2a]
xor eax, eax
mov ax, word [esi + 0x6a]
add eax, ecx
xor ecx, ecx
mov cx, word [esi + 0x26]
cmp ax, cx
mov word [esi + 0x6a], ax
jl 0x100089b7
dec ecx
xor ecx, ecx
mov cx, word [esi + 0x2a]
sub cx, word [esi + 0x2e]
xor eax, eax
mov ax, word [esi + 0x6a]
add eax, ecx
test ax, ax
mov word [esi + 0x6a], ax
jl 0x10008937
jmp 0x10008995
mov edi, dword [ecx + 0x2c]
mov dword [ebp - 0x38], edi
or dword [ebp - 0x7c], 0xd8c
lea esi, [esi]
or dword [ebp - 0x34], 0xdf4
mov ebx, dword [ebp - 0x50]
and dword [ebp - 0x64], 0xffffffb3
mov ecx, dword [ebp - 0x38]
xor esi, dword [ebp - 0x34]
sub ebx, 0x24
and edx, dword [ebp - 0x74]
add ecx, dword [ebx + 0xc8]
mov dword [ebp - 0x38], ecx
xor dword [ebp - 0x34], 0x1e2
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x80], 0xa89
mov edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 1
je 0x100089ff
mov dword [ebp - 0x10], eax
jle 0x10008984
movzx eax, word [ebp - 0x36]
push 2
mov dword [ebp - 0x28], eax
pop edi
cmp word [ebp - 0x38], 0
mov edx, ebx
jle 0x10008a67
movzx ecx, word [ebp - 0x38]
mov edx, dword [edi]
mov dword [ebp - 0x2c], edx
or esi, eax
and dword [ebp - 0x80], esi
push ebx
push edi
call fcn.10004139
and word [ebp - 0x7c], 0x4c5
mov esi, dword [ebp - 0x48]
xor ebx, dword [ebp - 0x84]
and ecx, esi
mov edi, 0
or word [ebp - 0x74], 0x8bf
mov dword [esi], edi
sub eax, edi
add eax, esi
mov dword [ebp - 0x3c], esp
and edi, dword [ebp - 0x74]
mov esp, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008a8c
push dword [ebp + 0xc]
call 0x100069ea
add dword [ebx + 0x30], 0x14
mov eax, dword [ebx + 0x30]
add esp, 0xc
cmp dword [ebx + 0x34], eax
jne 0x10008a84
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 0x2c]
jne 0x10008ae8
mov dword [esi], edi
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x30]
lea edi, [esi + esi*4]
shl edi, 2
cmp ecx, eax
mov dword [ebp + 8], edi
jbe 0x100054b5
sub ecx, eax
mov ebx, dword [ebp - 0x2c]
and eax, dword [ebp - 0x78]
and eax, dword [ebp - 0x74]
call ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
add word [ebp - 0x7c], 0xbdc
mov dword [ebp - 0x48], esp
cmp dword [ebp - 0x28], 1
je 0x10008ae3
dec esi
push eax
push esi
push dword [ebp - 0x1c4]
push dword [ebp + 0x20]
call fcn.10009199
sub word [ebp - 0x198], ax
jns 0x10007eff
movsx eax, word [ebx + 0x24]
dec eax
cdq
push 8
pop ecx
idiv ecx
dec word [ebp - 0x196]
mov word [ebp - 0x198], ax
mov esp, dword [ebp - 0x3c]
add edi, 0x408c
add ebx, dword [ebp - 0x64]
mov word [eax], es
add byte [ebx], al
pop ebp
pushfd
sub ebx, edi
xor eax, esi
sub dword [ebp - 0x48], 4
add word [ebp - 0x4c], 0xa7f
mov esi, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0
je 0x10008b3a
push eax
push edi
push dword [esi]
call ebx
cmp eax, edi
mov dword [esi + 8], edi
mov dword [ebp - 0x1c], edi
jl 0x10004581
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x40]
call dword [0x1000d168]
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x100085c0
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov ebx, 0xd3
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008b95
push dword [ebx + 0x68]
push dword [ebp - 0x1d0]
push ebx
call 0x10005494
mov esi, dword [ebp - 0x19c]
mov eax, dword [ebx + 0x68]
dec dword [ebp - 0x1a8]
cmp esi, dword [ebp - 0x1c4]
mov dword [ebp - 0x198], eax
je 0x10009fa7
sub esi, dword [ebp - 0x1c4]
sar esi, 1
cmp esi, 0x64
jle 0x10008bcd
lea eax, [esi + esi]
push eax
push dword [0x1000e1ef]
push dword [0x1000daa6]
mov dword [esi], ebx
xor ecx, esi
or ecx, dword [ebp - 0x4c]
push dword [ebp - 0x30]
call fcn.10004280
add ebx, 0x7449
xor dword [ebp - 0x58], 0x5fa
mov edi, dword [ebp - 0x70]
cmp dword [ebp - 0x68], 0x10000002
jne 0x10008be8
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
cmp word [eax + 0x10], 0
jne 0x10008ba4
xor eax, eax
movsx ecx, word [eax + 0x14]
mov eax, dword [eax + ecx*4 + 0x28]
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x5c]
or ebx, dword [ebp - 0x80]
sub edi, 0x18
cmp dword [ebp - 0x28], 0x10000002
jne 0x10008c20
inc eax
mov ecx, dword [ebp - 4]
cmp word [ecx + 0x16c], bx
jne 0x10008bd9
mov edi, 0x1000dcfc
xor eax, eax
push dword [ebp + 8]
push eax
push 0x1000d7ee
push ecx
call 0x1000534d
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x38], eax
xor dword [ebp - 0x84], eax
cmp dword [ebp - 0x28], 0xffffffd2
jne 0x10008c74
test byte [ebx + 0x148], 8
je 0x10007fb1
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [eax + 0xb0]
mov al, byte [eax + 0x2a2]
test al, al
push edi
jne 0x1000a7d1
mov ecx, dword [ebp + 0xc]
movsx edx, word [ecx + 2]
movsx eax, word [esi + 0x2a]
movsx edi, word [ecx]
mov eax, edi
sub eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x80]
xor ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x38]
or eax, edi
sub edx, 0xc
cmp dword [ebp - 0x68], 0xfffffffb
jne 0x10008cd6
mov eax, ecx
shr ecx, 2
mov ecx, eax
mov eax, dword [ebp - 4]
and ecx, 3
cmp byte [eax + 0x2a2], 0
je 0x10008cbb
mov ecx, dword [edx]
sub ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x1c]
mov eax, ecx
shr ecx, 2
mov ecx, eax
and ecx, 3
mov eax, dword [edx]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2a2], 0
je 0x10008cab
add esi, dword [edx + 0xb8]
mov dword [ebp - 0x38], esi
add edi, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 0xffffff87
jne 0x10008d18
je 0x10008d0b
mov word [esi], ax
add esi, ecx
add edi, ecx
add dword [ebp - 0x19c], ecx
jmp 0x10008822
mov eax, dword [ebp - 0x38]
sub ecx, edx
or ecx, ebx
mov edi, dword [ebp - 0x2c]
or word [ebp - 0x4c], 0x107
mov edi, dword [eax]
mov dword [ebp - 0x2c], edi
or dword [ebp - 0x58], edx
cmp dword [ebp - 0x68], 0x7a
jne 0x10008d7f
test byte [esi + 0x148], 2
mov edi, dword [esi + 0xb0]
je 0x10008d06
lea eax, [esi + 0x14c]
push eax
push esi
call 0x10007586
push edi
call 0x10005210
test byte [edi + 4], 1
je 0x10008d57
mov dword [ebp - 0x3c], esp
add dword [ebp - 0x68], 0
je 0x10008db4
outsd dx, dword [esi]
add byte [esi], ah
je 0x10008ddc
ja 0x10008db7
popal
add byte [edx], dh
add byte gs:[eax + eax + 0x4d], bl
add byte [ecx], ch
arpl word [eax], ax
jb 0x10008d74
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x10008da5
pop esp
add byte [edi], dl
imul eax, dword [eax], 0x64006e
mov esp, dword [ebp - 0x48]
mov ecx, esi
xor dword [ebp - 0x78], 0xffffffb6
mov eax, dword [ebp - 0x2c]
or ecx, dword [ebp - 0x78]
cmp dword [ebp - 0x28], 1
je 0x10008e0d
jle 0x10008dae
cmp ax, word [ebp - 4]
jg 0x10008e47
test ax, ax
jg 0x10008d73
mov ax, word [ebx + 0x18]
mov word [ebp + 8], ax
dec dword [ebp + 8]
cmp word [ebp - 4], 0
jg 0x10008dfb
mov ax, word [ebx + 0x18]
mov word [ebp - 4], ax
dec dword [ebp - 4]
mov edi, dword [ebp - 8]
cmp di, word [ebp + 0xc]
call eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
sub ecx, dword [ebp - 0x64]
add esi, dword [ebp - 0x54]
mov dword [ebp - 0x48], esp
mov edi, ebx
and ebx, ecx
mov esp, dword [ebp - 0x3c]
or esi, ecx
sub edi, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x70]
and dword [ebp - 0x54], ecx
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x58], ecx
sub esi, 0x2c
or eax, ecx
lea ebx, [esi + 0x28]
mov dword [ebp - 0x44], ebx
add ecx, dword [ebp - 0x34]
push dword [ebp - 0x44]
call fcn.10004280
sub eax, esi
add ebx, 0x3588
push dword [ebp - 0x44]
call fcn.10004280
or dword [ebp - 0x4c], esi
cmp dword [ebp - 0x68], 0x10000002
jne 0x10008e99
jl 0x10008df1
push dword [ebp - 0x44]
call fcn.10004280
sub eax, esi
or word [ebp - 0x7c], 0x2fa
sub dword [ebp - 0x48], 4
and edi, dword [ebp - 0x78]
sub eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0x10000002
jne 0x10008ee2
mov ebx, dword [ebp + 8]
mov word [ebp - 8], ax
mov ax, word [esi + 0x68]
mov word [ebp - 4], ax
cmp cx, word [esi + 0x2a]
jle 0x10008e6e
mov ax, word [esi + 0x2a]
sub ax, cx
add di, ax
mov word [ebp - 2], di
mov eax, 0
mov word [ebp - 0x4c], 0xb1f
mov dword [ecx], eax
xor dword [ebp - 0x74], edx
mov edx, 0xffffffff
mov dword [ebp - 0x3c], esp
lea esi, [ecx + 0x2e]
mov esp, dword [ebp - 0x48]
and dword [ebp - 0x4c], 0xfffffff4
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0xffffff82
jne 0x10008f33
mov dword [ebp - 4], eax
lea eax, [ebp - 0x50]
push eax
push 0
push dword [ebp + 0xc]
push dword [0x1000dde2]
call fcn.100072be
mov esi, dword [0x1000d821]
mov ebx, eax
push ebx
lea eax, [ebp - 0x48]
push eax
call esi
call esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x28], 1
je 0x10008f89
push esi
call 0x10007fa4
lea ecx, [ebp - 0x40]
push ecx
call fcn.100042d5
mov dword [ebp - 0x84], edi
mov edx, dword [ebp - 0x70]
sub esi, eax
cmp dword [ebp - 0x28], 0x2a
jne 0x10009163
push 1
push esi
mov dword [ebp - 0x10], edi
call 0x100095b5
movsx ebx, ax
imul ebx, ebx, 0x1c
add ebx, dword [esi + 0x58]
movsx eax, word [ebx + 4]
mov ecx, dword [ebx + 8]
lea ecx, [ecx + eax*2]
movsx edx, word [ebx]
cmp eax, edx
jge 0x10009119
mov word [ecx], 0x20
mov dword [ebp - 0x48], edx
mov edi, eax
sub ecx, dword [ebp - 0x74]
lea esi, [ebp - 0x70]
push esi
call fcn.100042d5
xor ecx, dword [ebp - 0x64]
sub edi, edx
mov ecx, dword [ebp - 0x48]
or edi, dword [ebp - 0x54]
push dword [ecx]
add word [ebp - 0x7c], 0x507
add dword [ebp - 0x48], 0xc
and dword [ebp - 0x54], 0xffffffa3
ret
push 0x1000d681
call 0x1000776b
mov eax, dword [0x1000d718]
movzx ecx, word [eax]
mov esi, dword [0x1000dbe7]
xor ebx, ebx
push ebx
push ebx
lea ecx, [ecx + ecx + 4]
push ecx
push eax
push 5
call esi
test eax, eax
je 0x1000919e
xor eax, eax
mov eax, dword [0x1000de4a]
cmp eax, ebx
je 0x1000922a
movzx ecx, byte [eax]
push ebx
push dword [ebp - 0x70]
call fcn.10004280
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000921d
push 3
push dword [ebp + 8]
mov dword [ebp - 4], ebx
push dword [ebp + 0xc]
push dword [esi + 0xb0]
call 0x100094f3
inc word [ebp + 0xa]
movsx eax, word [esi + 0x14e]
movsx ecx, word [ebp + 0xa]
add eax, edi
cmp ecx, eax
jl 0x100091a3
pop ebx
push esi
call 0x10006dac
pop edi
pop esi
leave
mov edi, dword [ebp - 0x48]
lea eax, [ebp - 0x70]
or edx, ecx
xor ebx, edx
push eax
sub eax, ecx
add ebx, dword [ebp - 0x74]
push edi
and edi, dword [ebp - 0x74]
add ecx, dword [ebp - 0x74]
call fcn.10004390
cmp dword [ebp - 0x28], 1
je 0x10009265
cdq
idiv dword [ebp + 0xc]
movsx ecx, word [ebp - 2]
push dword [ebp - 4]
mov dword [ebp - 8], ecx
push dword [esi + 0x24]
mov dword [ebp + 0x10], eax
movsx eax, word [ebp - 0x10]
cdq
idiv ecx
xor edx, edx
mov dx, word [esi + 0x2e]
sub dx, word [esi + 0x2a]
inc edx
add dword [ebp - 0x48], 0xfffffffc
add edi, dword [ebp - 0x64]
xor dword [ebp - 0x5c], ecx
push dword [ebp - 0x38]
call fcn.10004280
or dword [ebp - 0x58], 0xd38
add dword [ebp - 0x68], 0
je 0x100092ea
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1f8], eax
movsx ecx, word [ebp - 0x1a2]
mov eax, dword [ebp - 0x14c]
cdq
idiv ecx
xor ecx, ecx
mov cx, word [esi + 0x2a]
add eax, ecx
mov word [ebp - 0x17a], ax
and dword [esi + 0x84], 0xfffffffe
lea eax, [ebp - 0x180]
push eax
push esi
call 0x10009287
lea eax, [ebp - 0x160]
push eax
push dword [ebp - 0x168]
call dword [0x1000d0c8]
push esi
call fcn.10008754
jmp 0x10005127
and esi, eax
and ecx, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x70]
or edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x38]
or eax, ecx
sub ebx, 8
mov ecx, edx
lea esi, [ebx + 4]
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000933b
inc ax
mov word [ebp - 0x196], ax
push dword [ebp - 0x1c0]
mov eax, dword [ebp + 0x24]
shr eax, 1
and eax, 1
push eax
push dword [ebp - 0x198]
push ebx
call 0x10005210
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x38]
lea ebx, [edx + edi*8 + 0x3dd]
and dword [ebp - 0x64], ebx
mov edx, 0x200
mov edx, eax
mov edx, ebx
mov edx, eax
and ebx, edx
sub edx, 0x14
mov ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x68], 0
je 0x10009385
add eax, dword [ebp + 0x10]
movsx ecx, word [esi + 0x18]
cdq
idiv ecx
mov eax, dword [ebp + 0xc]
pop esi
pop ebx
mov word [eax], dx
pop edi
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov ax, word [ebp + 0xc]
push esi
push edi
mov dword [edx + 0x14], ecx
xor ebx, dword [ebp - 0x5c]
xor ebx, eax
mov edx, dword [ebp - 0x38]
lea edi, [ebp - 0x38]
or dword [ebp - 0x4c], 0xfffffff2
push edi
or esi, dword [ebp - 0x64]
cmp dword [ebp - 0x28], 0x62
jne 0x100093c2
push eax
xor eax, eax
mov ax, word [ebx + 0x3c]
push ecx
push dword [ebx + 0x38]
push eax
call 0x1000a82a
test eax, eax
mov dword [ebp - 8], eax
jbe 0x10009369
cmp dword [ebp + 8], 0
je 0x100093bf
dec dword [ebp - 8]
push edx
cmp dword [ebp - 0x28], 1
je 0x1000941e
call 0x100099be
push 9
push dword [ebp - 0x168]
call dword [0x1000d05c]
push dword [ebp - 0x164]
call 0x10008339
and dword [ebp - 0x164], 0
push 0
push dword [ebp - 0x16c]
call edi
push dword [ebp - 0x16c]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1fc], eax
movsx ecx, word [0x75b6d42e]
add dword [eax + 0x24], ecx
movsx ecx, word [0x75b6d466]
add dword [eax + 0x20], ecx
call fcn.10004390
mov dword [ebp - 0x7c], eax
and ebx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x38]
lea edx, [ebp - 0x38]
add ecx, 0xf59b
push edx
add eax, edi
mov byte [ebp - 0x54], 0xa3
push esi
or edi, dword [ebp - 0x58]
add eax, 0x2502
call fcn.10004390
xor edi, edx
mov edx, dword [ebp - 0x38]
lea edi, [ebp - 0x38]
cmp dword [ebp - 0x28], 0xffffffb6
jne 0x1000948f
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi + 0x270]
xor ebx, ebx
cmp edi, ebx
je 0x10009481
cmp dword [esi + 0x284], ebx
jbe 0x100094ce
mov eax, dword [esi + 0x288]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x100094a2
test byte [eax], 1
jne 0x1000941b
push eax
push esi
call 0x10008c90
push edi
add ebx, 0xb9b9
push edx
add dword [ebp - 0x68], 0
je 0x100094dc
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x3c]
nop
nop
nop
nop
nop
cmp dword [ebp - 0x1c], 0xc01000d4
je 0x10004944
cmp byte [ebx + 0x74], 0
jne 0x10004c81
mov eax, dword [0x1000d531]
add eax, 0x300000
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x48], eax
mov eax, dword [0x1000dbb3]
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x2c]
call fcn.10004390
or dword [ebp - 0x4c], edx
mov edi, dword [ebp - 0x38]
lea edx, [ebp - 0x38]
add ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x68], 0
je 0x1000952a
mov esi, dword [ebp - 0xc]
cmp si, ax
mov edi, dword [ebp + 0x10]
mov word [ebx + 6], ax
jl 0x100094bb
mov ax, word [ebx]
mov ecx, dword [ebp - 4]
mov word [ebx + 2], ax
movsx eax, ax
add ecx, edx
cmp ecx, eax
jl 0x10009500
mov edx, dword [ebx + 8]
lea eax, [edx + ecx*2 - 2]
cmp word [eax], 0x20
je 0x100069ab
push edx
add edx, eax
or dword [ebp - 0x4c], 0xffffffb0
push edi
sub edi, ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000955f
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp eax, dword [0x1000d979]
mov dword [ebp - 4], ecx
push 1
jne 0x1000950c
lea eax, [ebp + 0xc]
push eax
push ecx
call fcn.10004390
cmp dword [ebp - 0x28], 0x10000002
jne 0x100095a5
push ebx
mov ebx, dword [ebp + 8]
test byte [ebx + 0x140], 0x10
jne 0x10004b68
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp byte [eax + 0x2a2], 0
push edi
jne 0x10004ca9
cmp byte [esi + 0x65], 0
mov ecx, dword [ebp - 0x38]
lea edi, [ebp - 0x38]
mov dword [ebp - 0x58], edi
push edi
cmp dword [ebp - 0x28], 1
je 0x100095cc
pop esi
mov eax, ebx
pop ebx
pop ebp
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
push ecx
sub esi, ebx
call fcn.10004390
or eax, dword [ebp - 0x5c]
sub ebx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
lea esi, [ebp - 0x38]
or eax, dword [ebp - 0x84]
push esi
sub edi, dword [ebp - 0x5c]
mov edx, eax
push ebx
sub ecx, dword [ebp - 0x54]
or edx, dword [ebp - 0x5c]
call fcn.10004390
mov dword [ebp - 0x64], esi
sub esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x38]
xor word [ebp - 0x60], 0x2f2
push edx
mov edi, esi
push ecx
add edx, dword [ebp - 0x54]
call fcn.10004390
and dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x38]
lea eax, [ebp - 0x38]
and edi, dword [ebp - 0x60]
push eax
or dword [ebp - 0x54], ecx
push ebx
xor word [ebp - 0x34], 0x36
call fcn.10004390
xor dword [ebp - 0x4c], eax
and dword [ebp - 0x74], 0xffffffe8
call fcn.1000a586
sub edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x38]
add ebx, 0x29c2
and dword [ebp - 0x7c], eax
mov ecx, 0x3200
mov ecx, eax
mov ecx, esi
mov ecx, eax
xor ebx, eax
add eax, dword [ebp - 0x84]
sub ecx, 0x50
mov edi, dword [ebp - 0x44]
add eax, dword [ebp - 0x7c]
mov dword [ecx + 0x50], edi
cmp dword [ebp - 0x28], 1
je 0x1000969b
outsd dx, dword [esi]
add byte [esi], ch
je 0x10009632
jb 0x1000968b
outsd dx, dword [esi]
add byte [eax + eax + 0x5c], ch
add byte [esi], cl
insb byte es:[edi], dx
add byte [ebx], dh
pop esp
add byte [ebx], al
outsd dx, dword [esi]
add byte [eax + eax + 0x65], ah
add byte [eax], dl
popal
add byte [edi], ah
add byte gs:[eax + eax + 0x45], bl
call fcn.1000a60e
cmp dword [ebp - 0x68], 0xffffffe5
jne 0x100096e9
push dword [esi + 0x30]
call fcn.1000a51e
mov dword [ebp - 0x1c], eax
test eax, eax
jl 0x100042c9
mov eax, dword [ebp - 0x24]
shl eax, 2
or eax, 3
mov dword [esi + 0x3c], eax
and dword [ebp - 0x1c], 0
or dword [ebp - 4], 0xffffffff
call fcn.10004a31
mov eax, dword [ebp - 0x1c]
call 0x10008f0d
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x38]
lea ecx, [esi + 0x5e]
mov eax, 0x5c00
mov eax, edx
mov eax, ebx
mov eax, edx
or dword [ebp - 0x60], 0x11
sub eax, 0x46
mov ecx, dword [ebp - 0x38]
or ebx, dword [ebp - 0x64]
mov dword [eax + 0x46], ecx
sub ecx, eax
call fcn.1000a695
xor ecx, esi
mov edi, dword [ebp - 0x38]
or dword [ebp - 0x7c], 0x3a5
mov ebx, 0x6600
mov ebx, edi
mov ebx, ecx
mov ebx, edi
add dword [ebp - 0x78], ebx
sub ebx, 0x49
mov eax, dword [ebp - 0x50]
and dword [ebp - 0x78], 0xffffff9c
mov dword [ebx + 0x49], eax
sub esi, dword [ebp - 0x84]
xor word [ebp - 0x4c], 0x977
call 0x1000a795
sub ecx, edi
add edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x38]
or dword [ebp - 0x74], 0xb8b
mov eax, 0x1400
mov eax, edx
mov eax, edi
mov eax, edx
lea esi, [edx + edi*2 - 2]
mov edi, ebx
sub eax, 0x41
mov ecx, dword [ebp - 0x70]
mov ebx, eax
mov dword [eax + 0x41], ecx
or ecx, edi
add eax, dword [ebp - 0x84]
call fcn.1000a8b2
and ebx, dword [ebp - 0x5c]
mov byte [ebp - 0x54], 0xa9
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x5e
jne 0x100097d5
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebx + 0x104]
push edi
xor edi, edi
cmp dword [ebp + 0xc], edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
jne 0x1000982a
mov eax, dword [ebx + 0xc0]
mov dword [ebp - 8], eax
movzx eax, word [ebx + 0x11e]
push edi
push 0x1000d5a8
add eax, 0xd0
push 4
mov dword [ebp - 0x14], eax
mov esi, 0x2c00
mov esi, ecx
mov esi, eax
mov esi, ecx
cmp dword [ebp - 0x28], 0x48
jne 0x10009806
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov ecx, dword [ebp + 0xc]
movsx eax, word [ecx + 0x60]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
movsx esi, word [ecx + 0x26]
push edi
xor edi, edi
sub esi, 0x1e
mov edx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x74]
or edi, dword [ebp - 0x84]
mov dword [esi + 0x1e], edx
add esi, 0x5d37
cmp dword [ebp - 0x68], 0xffffff95
jne 0x10009842
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [ebp + 8]
test byte [esi + 0x148], 2
je 0x10007443
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ebp - 0x38]
xor edi, dword [ebp - 0x58]
xor dword [ebp - 0x54], esi
mov edx, 0x4000
mov edx, ebx
mov edx, esi
mov edx, ebx
mov word [ebp - 0x64], 0xfaa
sub edx, 0x33
mov ecx, dword [ebp - 0x2c]
xor esi, dword [ebp - 0x58]
test dword [ebp - 0x68], 0
je 0x100098ab
cmp byte [ebx + 0x48], 0
mov dword [ebp - 0x14], 1
je 0x1000aee4
mov eax, dword [ebx + 0x38]
and dword [ebp + 8], 0
test dword [ebx + 0x2c], 0xfffffffe
mov ecx, eax
jbe 0x1000990f
mov dx, word [ecx]
inc ecx
inc ecx
cmp dx, 0xd
je 0x10009896
mov edx, dword [ebx + 0x2c]
inc dword [ebp + 8]
shr edx, 1
cmp dword [ebp + 8], edx
jae 0x100098d9
jmp 0x1000989a
mov dword [edx + 0x33], ecx
cmp dword [ebp - 0x68], 0
je 0x100098e8
call edi
mov edi, dword [0x1000d5ea]
lea eax, [ebp - 0x28]
push eax
push 0x18
push dword [ebp - 0x10]
call edi
push 0x1000d5e2
push ebx
push ebx
push dword [ebp - 0xc]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push ebx
push ebx
push dword [ebp - 4]
call dword [str._TP]
lea eax, [ebp - 0x28]
push eax
push 0x18
call fcn.1000a9c1
lea eax, [ebx]
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000994c
and word [ebp + 0xa], 0
and word [ebp + 8], 0
push dword [ebp + 8]
mov word [ebp - 4], ax
mov ax, word [edi + 0x2a]
or dword [esi + 0x140], 0x10
inc eax
add dword [eax], eax
add byte [eax], dl
push esi
mov word [ebp - 2], ax
mov dword [esi + 0x148], 6
call 0x10006465
lea eax, [esi + 0x14c]
push eax
push esi
call 0x10009b93
push 1
push 0x1000d476
push esi
call 0x1000aed0
mov ax, word [edi + 0x24]
dec ax
mov word [ebp + 8], ax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10009991
push esi
push dword [edi]
push dword [0x1000e169]
call 0x1000564a
mov ecx, dword [ebp + 8]
mov word [ecx + 0x120], ax
mov eax, dword [ebp + 8]
shl word [eax + 0x120], 1
push dword [ebp - 0xec]
call dword [str.t_DV]
push esi
push 0x1000d31c
call 0x1000629b
push 0x34
pop ecx
mov edx, 0x4e00
mov edx, eax
mov edx, esi
mov edx, eax
xor dword [ebp - 0x58], 0x18e
sub edx, 0x35
mov esi, dword [ebp - 0x30]
or ebx, dword [ebp - 0x58]
or edi, dword [ebp - 0x54]
mov dword [edx + 0x35], esi
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x28], 0x10000002
jne 0x10009a0a
mov dword [ebp - 0xd0], 0xc0000002
cmp dword [ebp - 0xfc], ebx
je 0x10009a17
push dword [ebp - 0xfc]
call dword [0x1000d130]
push dword [ebp - 0xf8]
call 0x10004c60
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xf8]
pop edi
pop esi
pop ebx
call fcn.1000a9c9
nop
inc ebx
add byte [ebx], dh
jb 0x10009a69
push ebx
add byte [eax + eax + 0x61], dh
add byte [edx], dh
je 0x100099f0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10009a30
test eax, eax
jne 0x10009a04
push dword [ebp + 0xc]
call 0x10006d5b
lea eax, [ebp - 0x10]
push eax
push esi
push 6
call fcn.10006b59
xor eax, eax
inc eax
jmp 0x10009a22
mov edx, 0x1a00
mov edx, eax
mov edx, ebx
mov edx, eax
lea ecx, [edi + eax*2 + 0x146f]
add dword [ebp - 0x68], 0
je 0x10009a6a
shr ecx, 2
mov ecx, eax
mov ax, word [ebp + 0x10]
and ecx, 3
lea ecx, [edi + edi]
push ecx
push eax
push dword [0x1000d8e3]
call esi
test eax, eax
mov dword [ebx + 0xc], eax
je 0x10009ae1
push edi
push eax
sub edx, 0x36
mov ebx, dword [ebp - 0x40]
or ecx, edi
xor edi, esi
mov dword [edx + 0x36], ebx
xor esi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x10009aa7
add byte [eax], dl
and byte [eax], al
inc esp
add byte [edx], al
inc ebx
add byte [ebx], dl
add byte [eax], al
push ebx
add byte [ebx], al
push edx
add byte [ebp], al
inc ebp
add byte [esi], cl
and byte [eax], al
inc esp
add byte [edx], al
mov eax, 0x2c00
mov eax, ebx
mov eax, ecx
mov eax, ebx
add dword [ebp - 0x68], 0
je 0x10009afa
jae 0x1000578d
cmp dword [0x1000d4b9], 0
mov edx, dword [ebx + 0x34]
jne 0x1000864a
mov si, word [ebx + 0x30]
dec ecx
shr ecx, 1
cmp si, cx
mov dword [ebp + 8], ecx
jge 0x100099d6
push 2
pop edi
xor eax, eax
mov ax, word [edx]
cmp ax, 0x20
je 0x10009aa4
cmp word [0x75b6d4a0], 0
je 0x10009b68
sub eax, 0x1e
mov ecx, dword [ebp - 0x44]
xor esi, ebx
and esi, edi
mov dword [eax + 0x1e], ecx
cmp dword [ebp - 0x68], 0
je 0x10009b35
cmp dword [ebp + 0xc], eax
jne 0x10009b53
mov eax, 0x1000d62e
mov edx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
mov cl, byte [esi]
test cl, cl
je 0x10009b69
mov byte [edx], cl
inc edx
inc esi
dec dword [ebp + 0xc]
jne 0x10009ac5
cmp dword [ebp + 0xc], 0
pop esi
jne 0x10009b00
dec edx
call fcn.1000aa63
or edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x68], 0x75
jne 0x10009b6b
mov ax, word [esi + 0x2e]
sub ax, word [esi + 0x2a]
inc eax
mov word [ebp + 0xe], ax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x94]
mov edx, dword [ebp + 0x10]
mov dword [edx], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
xor eax, eax
pop esi
nop
nop
mov edx, 0x5800
mov edx, ecx
mov edx, edi
mov edx, ecx
mov ecx, edi
and dword [ebp - 0x78], edi
sub edx, 0x34
mov ebx, dword [ebp - 0x38]
and ecx, dword [ebp - 0x60]
or edi, dword [ebp - 0x34]
mov dword [edx + 0x34], ebx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10009bd1
test edi, edi
jl 0x1000a190
add eax, 0x2c0000
mov ebx, dword [ebp - 0x38]
add dword [ebp - 0x68], 0
je 0x10009c29
xor edi, edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
call 0x10004e16
cmp byte [esi + 0x63], bl
je 0x10009c64
push 2
pop edi
mov eax, dword [esi]
test byte [eax + 0x140], 0x10
jne 0x10006c22
movzx ecx, word [esi + 0x6a]
movzx edx, word [esi + 0x68]
shl ecx, 0x10
or ecx, edx
push ecx
push edi
push 0x1000d320
push eax
call fcn.1000aa2b
mov byte [esi + 0x66], bl
cmp byte [esi + 0x64], bl
je 0x10005666
jmp 0x10005483
mov edi, 0x2800
mov edi, ebx
mov edi, edx
mov edi, ebx
add ebx, esi
and ecx, dword [ebp - 0x80]
sub edi, 0x59
mov edx, dword [ebp - 0x50]
cmp dword [ebp - 0x28], 0xffffff90
jne 0x10009c72
je 0x10009bcc
cmp dword [ebp + 0x10], 0
je 0x1000a25e
lea ebx, [ebp - 0x22c]
push ebx
push dword [esi + 0xc0]
call dword [0x1000d094]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call 0x10006679
nop
nop
nop
mov dword [edi + 0x59], edx
xor eax, dword [ebp - 0x78]
call fcn.1000ab30
xor edi, dword [ebp - 0x4c]
lea esi, [ebx - 0x3d]
mov eax, dword [ebp - 0x38]
xor dword [ebp - 0x34], esi
mov esi, 0x4800
mov esi, eax
mov esi, edx
mov esi, eax
and edi, eax
sub esi, 0x1d
mov ebx, dword [ebp - 0x30]
sub edx, esi
add edx, 0x3d0b
mov dword [esi + 0x1d], ebx
xor eax, dword [ebp - 0x74]
xor dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x38]
add esi, dword [ebp - 0x74]
or eax, dword [ebp - 0x78]
mov ecx, 0x7800
mov ecx, edx
mov ecx, ebx
mov ecx, edx
add edi, dword [ebp - 0x7c]
sub ecx, 0x11
mov esi, dword [ebp - 0x40]
or edi, edx
mov dword [ecx + 0x11], esi
and esi, dword [ebp - 0x7c]
and ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x68], 0
je 0x10009d04
lea eax, [ebp - 0x14]
push eax
push 6
push dword [ebp - 8]
mov dword [ebp - 4], ebx
call esi
push dword [ebp - 4]
push ebx
call dword [0x1000d18c]
mov edi, eax
cmp edi, ebx
je 0x1000a68d
lea eax, [ebp - 4]
push eax
mov edi, 0x1200
mov edi, esi
mov edi, edx
mov edi, esi
sub esi, dword [ebp - 0x74]
sub edi, 0x45
mov ebx, dword [ebp - 0x44]
mov edx, esi
mov dword [edi + 0x45], ebx
cmp dword [ebp - 0x28], 0xfffffffa
jne 0x10009d83
push 0x19
pop ecx
mov word [0x75b6d142], cx
mov word [0x75b6d146], cx
mov dword [0x1000dd40], ecx
mov dword [0x1000d76e], ecx
mov ecx, dword [0x1000d5b2]
mov word [0x75b6d1ae], 7
mov word [0x75b6d1ac], 0x20
mov word [0x75b6d1b2], 0xf5
mov word [0x75b6d1b0], 0x20
mov dword [0x1000daa8], eax
mov dword [0x1000d45d], eax
mov dword [0x1000db45], 1
mov dword [0x1000d308], eax
mov edx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
mov esi, 0x8000
mov esi, edx
mov esi, ecx
mov esi, edx
xor edx, dword [ebp - 0x74]
add edx, dword [ebp - 0x5c]
sub esi, 0x34
mov edi, dword [ebp - 0x38]
add ebx, 0x128a
mov dword [esi + 0x34], edi
xor edi, dword [ebp - 0x4c]
and dword [ebp - 0x58], esi
mov edx, dword [ebp - 0x38]
and edi, dword [ebp - 0x74]
mov ecx, 0x400
mov ecx, edx
mov ecx, esi
mov ecx, edx
lea esi, [esi + ebx*2 - 0x4c]
sub ecx, 0x6d
mov ebx, dword [ebp - 0x50]
xor eax, dword [ebp - 0x80]
xor eax, ecx
mov dword [ecx + 0x6d], ebx
or dword [ebp - 0x80], eax
mov edi, dword [ebp - 0x38]
or ecx, dword [ebp - 0x78]
mov ebx, 0x7600
mov ebx, edi
mov ebx, eax
mov ebx, edi
mov dword [ebp - 0x60], 0x643
sub ebx, 0x63
mov ecx, dword [ebp - 0x38]
add dword [ebp - 0x68], 0
je 0x10009e35
mov eax, dword [esi + 0x278]
test eax, eax
je 0x10009dd8
and dword [eax], 0xfffffffe
mov eax, dword [esi + 0x27c]
test eax, eax
je 0x10009e0e
and dword [eax], 0xfffffffe
test ecx, ecx
je 0x10009e03
test byte [esi + 0x64], dl
jne 0x10009e23
mov ecx, dword [ebp + 0xc]
and ecx, edi
je 0x10009df9
mov eax, dword [esi + 0x64]
test bl, al
jne 0x10009e6f
or eax, ebx
test ecx, ecx
jne 0x10009e7a
mov eax, dword [esi + 0x64]
test bl, al
mov dword [ebx + 0x63], ecx
or ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x38]
add edx, dword [ebp - 0x54]
add dword [ebp - 0x78], 0x915
mov ebx, 0x200
mov ebx, ecx
mov ebx, edi
mov ebx, ecx
cmp dword [ebp - 0x68], 0x10000002
jne 0x10009e80
mov ecx, eax
shr ecx, 8
mov dl, cl
and dl, 6
cmp dl, 6
mov byte [ebp + 0xf], cl
jne 0x10009ea7
mov dword [ebp - 0x28], esi
mov word [ebx + 0xa], 0x12
mov word [ebx + 0xc], 0x38
sub ebx, 0x11
mov edx, dword [ebp - 0x50]
or dword [ebp - 0x4c], edx
mov dword [ebx + 0x11], edx
xor edi, eax
cmp dword [ebp - 0x28], 0x10000002
jne 0x10009eb0
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx + 0x2c]
push esi
xor esi, esi
mov ecx, dword [ebp - 0x38]
add dword [ebp - 0x60], edi
mov edx, 0x6600
mov edx, ecx
mov edx, ebx
mov edx, ecx
add eax, dword [ebp - 0x54]
or dword [ebp - 0x58], 0x42b
sub edx, 0x60
mov edi, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x64]
mov byte [ebp - 0x84], 0xa3
mov dword [edx + 0x60], edi
and esi, dword [ebp - 0x78]
cmp dword [ebp - 0x28], 0xffffffa6
jne 0x10009f25
mov dword [ebp - 0x5c], ecx
mov ecx, dword [eax + 0xd0]
mov dword [ebp - 8], ecx
push esi
push edi
push 0x10
pop ecx
lea esi, [eax + 0x2c]
push 0x10
lea edi, [ebp - 0xac]
lea esi, [eax + 0x80]
pop ecx
lea edi, [ebp - 0x58]
mov cx, word [eax + 0x6c]
mov word [ebp - 0x6c], cx
mov cx, word [eax + 0x6e]
mov word [ebp - 0x6a], cx
mov cx, word [eax + 0x70]
mov word [ebp - 0x68], cx
mov eax, dword [ebp - 0x38]
lea esi, [ebx + 0x12ad]
mov ecx, 0x2c00
mov ecx, eax
mov ecx, edx
mov ecx, eax
add ebx, edi
sub ecx, 0x42
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x68], 0xffffff94
jne 0x10009f7d
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x34]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x140]
and eax, 4
push eax
push dword [ebp - 0x14]
call 0x1000a96f
push dword [ebp - 4]
call 0x10006ad1
mov eax, edi
pop edi
pop esi
pop ebx
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov dword [ecx + 0x42], edi
or ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x54], ebx
mov ebx, 0x6200
mov ebx, edx
mov ebx, esi
mov ebx, edx
test dword [ebp - 0x68], 0
je 0x10009fd8
mov eax, dword [ebp - 4]
test byte [eax + 0x2c], 4
jne 0x1000a001
push eax
call 0x1000a7ae
test eax, eax
jne 0x10009fc4
test byte [0x1000e144], 0x10
je 0x10009fb9
push esi
push 4
lea eax, [ebp + 8]
push eax
push 7
push 0xffffffffffffffff
mov edi, 0x1000dff5
call dword [0x1000d08c]
test eax, eax
jl 0x10009f75
cmp dword [ebp + 8], esi
je 0x10009fea
sub ebx, 0x5a
mov eax, dword [ebp - 0x40]
or edi, dword [ebp - 0x4c]
mov dword [ebx + 0x5a], eax
or ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
and dword [ebp - 0x64], eax
mov edx, 0x5600
mov edx, esi
mov edx, edi
mov edx, esi
and ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x28], 0x7f
jne 0x1000a034
movsx edi, di
idiv edi
movsx eax, dx
imul eax, eax, 0x1c
add eax, dword [ecx + 0x58]
mov ecx, dword [ecx]
cmp byte [ecx + 0x2a2], 0
jne 0x1000a060
and dword [esi + 0x34], 0
mov eax, dword [eax + 0xc]
movsx ecx, bx
mov al, byte [ecx + eax]
test al, 2
je 0x10009fc4
mov dword [esi + 0x34], 3
jmp 0x10009fde
sub edx, 0x5c
mov ebx, dword [ebp - 0x44]
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x64], esi
mov dword [edx + 0x5c], ebx
and ebx, dword [ebp - 0x78]
or ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x38]
test dword [ebp - 0x68], 0
je 0x1000a098
lea ecx, [ebp + 8]
push ecx
push 0x1000d854
push 2
push dword [esi + 0x2c]
push dword [eax + 0x74]
call 0x1000a9a9
test eax, eax
jge 0x1000a0e0
and dword [esi + 0x8c], 0
xor edx, edx
cmp dword [esi + 0x34], 1
lea ebx, [esi + 0x8c]
mov ecx, dword [ebx]
mov eax, ecx
inc edx
imul eax, edx
cmp eax, 0x50
jbe 0x1000a046
push edx
lea eax, [esi + 0x88]
mov edi, dword [eax]
mov edx, 0x2a00
mov edx, ebx
mov edx, eax
mov edx, ebx
add ebx, ecx
sub edx, 0x38
mov edi, dword [ebp - 0x38]
or esi, edi
mov dword [edx + 0x38], edi
add edi, 0x4a38
mov edi, ecx
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x80], edi
mov eax, 0x4800
mov eax, ecx
mov eax, edi
mov eax, ecx
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000a102
or byte [eax], al
jg 0x1000a0bb
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub eax, 0x16
mov edx, dword [ebp - 0x50]
add esi, dword [ebp - 0x80]
xor word [ebp - 0x84], 0x916
mov dword [eax + 0x16], edx
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000a148
mov eax, edx
sub eax, ecx
mov ecx, dword [ebx + 0x58]
imul eax, esi
movsx esi, word [ebx + 0x60]
and dword [ebp - 0x44], 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], eax
movsx eax, word [ebx + 0x26]
add esi, edx
imul eax, eax, 0x1c
imul esi, esi, 0x1c
add esi, ecx
add ecx, eax
mov ebx, dword [ebp - 0x38]
xor eax, dword [ebp - 0x7c]
add eax, 0xe292
mov ecx, 0x6e00
mov ecx, ebx
mov ecx, edx
mov ecx, ebx
add eax, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x64]
sub ecx, 0x3d
mov edi, dword [ebp - 0x38]
or esi, dword [ebp - 0x78]
sub ebx, dword [ebp - 0x80]
mov dword [ecx + 0x3d], edi
cmp dword [ebp - 0x28], 0x17
jne 0x1000a1be
push 0x10
jne 0x1000a1a1
pop ecx
xor eax, eax
mov edi, 0x1000d4d0
push 0x11
call 0x10005ae1
mov dword [ebp + 8], eax
call fcn.10005163
mov dword [ebp + 8], eax
mov eax, dword [0x1000d839]
cmp eax, ebx
je 0x1000a144
push eax
call dword [0x1000d0e4]
mov dword [0x1000d414], ebx
mov eax, dword [0x1000d846]
cmp eax, ebx
je 0x1000a138
push eax
call dword [0x1000d138]
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x1000a205
call 0x10007eda
test eax, eax
je 0x100081ea
mov eax, dword [0x1000db25]
cmp eax, dword [ebx + 0xc8]
je 0x10009157
mov dword [ebx + 0xc8], eax
mov word [ebx], 1
mov word [ebx + 2], 1
mov word [ebx + 4], 1
mov word [ebx + 4], cx
jmp 0x1000a9e8
mov edi, 0x7400
mov edi, esi
mov edi, edx
mov edi, esi
add ebx, dword [ebp - 0x78]
sub edi, 0x53
mov eax, dword [ebp - 0x50]
add ebx, dword [ebp - 0x84]
mov dword [edi + 0x53], eax
xor eax, ebx
xor esi, edx
mov ebx, dword [ebp - 0x38]
add esi, edi
xor word [ebp - 0x7c], 0x7bf
mov edi, 0x6000
mov edi, ebx
mov edi, ecx
mov edi, ebx
add dword [ebp - 0x78], edx
sub edi, 0x55
mov ecx, dword [ebp - 0x30]
and eax, dword [ebp - 0x74]
test dword [ebp - 0x68], 0
je 0x1000a27d
lea edi, [esi + 0x38]
mov eax, dword [ebp + 8]
push ebx
push dword [esi + 0x34]
push dword [esi + 0x30]
push edi
push dword [eax + 0xc]
call 0x10006970
mov esi, eax
push dword [ebp - 4]
call 0x10006dac
pop edi
mov eax, esi
pop ebx
pop esi
nop
nop
nop
nop
nop
mov edi, edi
mov dword [edi + 0x55], ecx
cmp dword [ebp - 0x68], 0x74
jne 0x1000a2c8
mov ebp, esp
mov eax, 0x1000d6ce
call fcn.1000b1d2
mov eax, dword [0x1000e17f]
push ebx
push edi
xor edi, edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x1218], edi
mov dword [ebp - 0x1210], 0x64
mov dword [ebp - 0x1208], edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
push dword [eax + 0x1d4]
push 0x1000dbcc
mov ebx, dword [ebp - 0x38]
or eax, dword [ebp - 0x64]
mov ecx, 0x2600
mov ecx, ebx
mov ecx, edi
mov ecx, ebx
add ebx, dword [ebp - 0x84]
or ebx, dword [ebp - 0x78]
sub ecx, 4
mov eax, dword [ebp - 0x50]
sub edx, eax
or dword [ebp - 0x34], esi
mov dword [ecx + 4], eax
cmp dword [ebp - 0x28], 1
je 0x1000a328
call 0x1000a2f6
xor eax, eax
nop
nop
nop
pop esp
add byte [edx], dl
add byte gs:[edi], ah
imul eax, dword [eax], 0x740073
jb 0x1000a317
jns 0x1000a313
pop esp
add byte [ebp], cl
popal
add byte [ebx], ah
push 0x1000ddaa
add byte [ebp], ah
pop esp
add byte [ebx], dl
jns 0x1000a359
mov ebx, dword [ebp - 0x38]
add dword [ebp - 0x4c], ecx
mov esi, 0x2600
mov esi, ebx
mov esi, ecx
mov esi, ebx
or edx, dword [ebp - 0x58]
and edi, dword [ebp - 0x84]
sub esi, 0x61
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 1
je 0x1000a37e
inc eax
inc eax
push eax
push 0x40
mov dword [ebp - 0x820], ecx
call dword [0x1000d0f8]
test eax, eax
mov dword [ebp - 0x820], eax
je 0x10005ae5
movzx ecx, word [ebp - 0x824]
push 0
push ecx
push eax
push dword [ebp - 0x880]
mov dword [esi + 0x61], eax
add word [ebp - 0x7c], 0x93a
mov ebx, dword [ebp - 0x38]
add eax, dword [ebp - 0x64]
add dword [ebp - 0x54], 0xffffffe1
mov esi, 0x2400
mov esi, ebx
mov esi, ecx
mov esi, ebx
xor dword [ebp - 0x60], eax
sub esi, 0x47
mov ecx, dword [ebp - 0x50]
mov ebx, edi
sub ebx, dword [ebp - 0x80]
mov dword [esi + 0x47], ecx
and ecx, dword [ebp - 0x58]
xor edi, esi
mov esi, dword [ebp - 0x38]
and eax, dword [ebp - 0x5c]
mov eax, 0x3400
mov eax, esi
mov eax, edx
mov eax, esi
cmp dword [ebp - 0x68], 0xffffffa7
jne 0x1000a3fa
mov esi, dword [esi + 0x30]
test esi, 0xfffffffc
jne 0x10009e71
mov eax, dword [eax + 0xc]
mov dword [eax + 8], esi
or dword [ebp - 4], 0xffffffff
call 0x100048c0
mov eax, dword [ebp - 0x24]
call 0x10009955
nop
nop
nop
nop
nop
sub eax, 0x5b
mov edx, dword [ebp - 0x30]
xor esi, ebx
and esi, ecx
mov dword [eax + 0x5b], edx
cmp dword [ebp - 0x28], 1
je 0x1000a42c
or dword [ebp - 4], 0xffffffff
call 0x10008bbd
mov al, byte [ebp - 0x1a]
call 0x1000adfc
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
nop
nop
nop
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000a488
lea eax, [ebp - 0x2218]
push eax
lea eax, [ebp - 0x221c]
push eax
mov dword [ebp - 0x21e8], esi
mov esi, 0x1000d871
push esi
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2214]
call 0x10009791
cdq
mov dword [ebp - 0x21f4], eax
or eax, edx
mov dword [ebp - 0x21f0], edx
je 0x10007569
mov edi, dword [ebp - 0x2218]
push esi
mov dword [ebp - 0x220c], edi
call fcn.10008f41
lea ebx, [ebp - 0x38]
push ebx
call fcn.100042d5
xor ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 1
je 0x1000a4bc
xor ecx, ecx
mov cl, byte [esi + 0x30]
push ebx
push dword [edi]
push ecx
push eax
call fcn.1000870d
mov esi, eax
push dword [ebp - 4]
call 0x1000b234
pop edi
mov eax, esi
pop ebx
pop esi
leave
mov dword [ebp - 0x48], ecx
sub edx, esi
or dword [ebp - 0x84], edx
lea ebx, [ebp - 0x70]
push ebx
call fcn.100042d5
add eax, dword [ebp - 0x60]
cmp dword [ebp - 0x28], 1
je 0x1000a502
push dword [esi + 0x2c]
push dword [eax + 0x74]
call 0x10009824
mov esi, eax
test esi, esi
jl 0x1000a505
mov eax, dword [ebp + 8]
push dword [eax + 0xc]
call 0x10007eda
mov esi, eax
push dword [ebp - 4]
call 0x10008b48
mov eax, esi
pop esi
mov esi, dword [ebp - 0x48]
add ebx, dword [ebp - 0x60]
push dword [esi]
or eax, dword [ebp - 0x64]
sub edi, edx
add dword [ebp - 0x48], 4
mov byte [ebp - 0x5c], 0x5b
ret
jmp 0x1000a6a8
cmp edi, dword [ebp + 0xc]
jg 0x10009b12
mov dword [edx], 1
cmp eax, 0x6f
jl 0x100077ed
cmp eax, 0x70
jle 0x1000a728
cmp eax, 0x73
je 0x1000a68d
cmp eax, 0x75
je 0x100061d4
cmp eax, 0x78
jne 0x10009751
cmp edi, dword [ebp + 0xc]
jg 0x10006a84
push 0x5d
call fcn.1000417b
and ebx, esi
add dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x48]
xor dword [ebp - 0x34], edx
pop dword [edx]
cmp dword [ebp - 0x68], 0
je 0x1000a743
mov eax, dword [ebp + 0x10]
add eax, 0x800
push eax
push edi
call 0x100071ab
cmp si, 0x13
je 0x1000594a
cmp si, 0x10
je 0x1000a781
cmp si, 0x11
je 0x1000a777
cmp si, 0x14
je 0x1000a736
cmp si, 0x15
je 0x1000a6df
cmp si, 0x17
je 0x1000a730
cmp si, 0x19
je 0x1000a6c8
cmp si, 0x90
je 0x1000a791
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x5c], 0xc83
push dword [ecx]
mov ebx, edi
mov edi, ebx
add dword [ebp - 0x48], 4
add eax, 0x236d
xor eax, dword [ebp - 0x80]
ret
mov eax, dword [eax + 0xb0]
test byte [eax + 4], 1
je 0x1000a7d1
push dword [ebp + 8]
lea eax, [ebp - 0x30]
push ecx
push eax
push esi
call fcn.1000870d
mov eax, dword [ebp - 0x2a]
dec eax
add eax, 0xbd56
push dword [ebp - 0x64]
push 0x67
call fcn.10004139
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000a7d6
jne 0x1000a7b0
sub esi, edi
mov dword [ebp + 0x10], esi
je 0x1000a786
mov edi, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
lea eax, [esi + esi*4]
shl eax, 2
sub ecx, edi
cmp ecx, eax
jbe 0x1000a78b
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
push 0x14
xor edx, edx
pop ecx
div ecx
mov ebx, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000a822
push eax
push dword [esi + 0xf8]
call dword [0x1000d194]
push dword [esi + 0xf8]
call dword [0x1000d0c4]
push dword [esi + 0xc0]
call dword [0x1000d028]
mov dword [esi + 0xc0], ebx
mov eax, 0x1000df53
test byte [esi + 0x141], 1
jne 0x1000992e
push 0
push eax
pop dword [ebx]
cmp dword [ebp - 0x68], 0x4f
jne 0x1000a86b
je 0x1000a864
and ecx, 0xfffffffb
or ecx, eax
mov dword [esi + 4], ecx
and edx, eax
and ecx, eax
cmp edx, ecx
je 0x1000a886
mov eax, dword [esi]
push dword [eax + 0x1a8]
movsx ecx, word [esi + 0x24]
movsx eax, word [esi + 0x26]
imul eax, ecx
test edx, edx
push eax
push dword [esi + 0x5c]
je 0x1000a7e9
call 0x10006679
call 0x10009459
push dword [ebp + 0x10]
mov eax, dword [0x1000dd50]
add eax, edi
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x68], 0
je 0x1000a89e
xor eax, eax
lea edi, [ebp - 0x54]
movzx eax, byte [ebx + 0x28]
lea esi, [ebx + 0xb2]
lea edi, [ebp - 0x54]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x18]
push eax
push 0x14
lea eax, [ebp - 0xd4]
push eax
call fcn.10006d0e
push dword [eax]
and dword [ebp - 0x5c], 0x2bd
add dword [ebp - 0x48], 4
mov edi, esi
ret
push dword [0x1000d6ab]
call dword [0x1000d0a4]
test eax, eax
mov esi, dword [ebp + 8]
mov dword [esi + 0x10], eax
je 0x1000a898
push eax
call dword [0x1000d0cc]
test eax, eax
jl 0x10007c06
mov eax, dword [esi + 0x10]
and dword [eax + 0x18], 0
mov eax, dword [esi + 0x10]
mov eax, dword [ebp + 0xc]
pop dword [ebx]
cmp dword [ebp - 0x28], 1
je 0x1000a963
xor ecx, ecx
mov cx, word [ebx + 0x2c]
push edi
lea edi, [ebx + 0x28]
mov ax, word [edi]
sub cx, ax
xor edx, edx
mov dx, word [ebx + 0x2e]
mov dword [ebp - 8], esi
inc ecx
mov word [ebp - 0x10], cx
mov cx, word [ebx + 0x2a]
sub dx, cx
inc edx
cmp byte [ebp + 0xc], 0
mov word [ebp - 0xe], dx
jne 0x10005136
cmp word [ebp + 0x10], 0
jne 0x1000a8de
cmp word [ebp + 0x12], 0
je 0x1000680a
mov edx, dword [ebp + 0x10]
add eax, edx
mov esi, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000a994
push dword [ebp - 0x18]
call 0x10006c1a
push ebx
call esi
mov eax, dword [0x1000e1d6]
test eax, eax
jne 0x1000a92a
push dword [esi]
lea eax, [edi]
add dword [ebp - 0x48], 4
and word [ebp - 0x64], 0xe48
ret
nop
mov edx, dword [ebp - 0x10]
cmp di, word [edx]
jne 0x1000a9ad
inc word [ecx]
add ecx, 4
mov word [ecx], 1
mov dx, word [edx]
inc dword [ebp - 0x18]
mov word [ecx + 2], dx
inc dword [ebp - 8]
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp - 8]
sub dword [ebp - 0x48], 4
or edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x48]
or edi, esi
or word [ebp - 0x64], 0x2cd
pop dword [esi]
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000aa49
mov ecx, dword [ebp - 0x48]
xor word [ebp - 0x60], 0x30a
push dword [ecx]
xor edi, eax
sub edi, dword [ebp - 0x54]
add dword [ebp - 0x48], 4
or eax, dword [ebp - 0x34]
ret
push dword [esi + 0xc0]
push esi
call fcn.10006c91
mov eax, 0x1000e04b
test byte [esi + 0x141], 1
jne 0x1000656c
push 0
push dword [0x1000e09d]
push 2
push dword [esi + 0xc0]
call dword [0x1000d1b0]
jmp fcn.10007f6e
cmp ax, 0x20
jb 0x1000acad
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp - 0x50]
call fcn.10004280
and word [ebp - 0x64], 0x40
sub ecx, dword [ebp - 0x80]
add dword [ebp - 0x60], edi
mov ecx, dword [ebp - 0x70]
add eax, dword [ebp - 0x60]
or dword [ebp - 0x5c], edx
mov edi, dword [ebp - 0x38]
add edx, 0xada2
sub ecx, 0x30
cmp dword [ebp - 0x28], 1
je 0x1000acbc
call fcn.10006f95
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call 0x1000a7e2
nop
nop
nop
nop
nop
mov edi, edi
mov edi, dword [ecx + 0x38]
mov dword [ebp - 0x38], edi
lea edi, [ebx + ecx*4 - 0x33]
lea eax, [ebp - 0x50]
add dword [ebp - 0x64], ecx
push eax
mov word [ebp - 0x74], 0x93a
push dword [ebp - 0x50]
xor dword [ebp - 0x64], 0x637
call fcn.1000451d
mov ebx, edx
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000ad0c
mov word [esi + 6], ax
mov cx, word [ebx]
cmp cx, ax
jge 0x1000ad42
mov eax, 4
xor ebx, dword [ebp - 0x54]
xor esi, eax
mov dword [ebp - 0x40], eax
and ebx, eax
add esi, dword [ebp - 0x74]
mov bl, byte [ebp - 0x38]
mov byte [ebp - 0x50], bl
add ecx, dword [ebp - 0x34]
or eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x50]
rol eax, 8
mov dword [ebp - 0x50], eax
test dword [ebp - 0x68], 0
je 0x1000ad87
lea eax, [ebp - 0x24]
push eax
call edi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
push 0x1000d423
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x40], 0x18
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], 0x40
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call dword [0x1000d164]
test eax, eax
jl 0x1000ad00
push 0x1000e0b9
lea eax, [ebp - 0x24]
push eax
call edi
mov edx, dword [ebp - 0x38]
ror edx, 8
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x28], 0xffffffd1
jne 0x1000adc6
sub dword [ebp - 0x40], 1
jne 0x1000ad1b
or dword [ebp - 0x78], esi
mov edi, dword [ebp - 0x50]
ror edi, 8
mov dword [ebp - 0x50], edi
xor dword [ebp - 0x7c], 0x445
mov esi, dword [ebp - 0x50]
lea edi, [ebp - 0x38]
or word [ebp - 0x4c], 0xe27
push edi
xor ebx, edx
push esi
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000ae2a
jl 0x10007668
mov eax, dword fs:[0x18]
push dword [ebp - 0x10]
mov eax, dword [eax + 0x3c]
push dword [ebp + 0x20]
mov eax, dword [eax + 0x20]
push esi
push dword [ebp + 0x1c]
lea ecx, [esi + 0x10]
push ecx
lea ecx, [esi + 0xc]
push ecx
lea ecx, [esi + 8]
push ecx
push dword [eax + 0x30]
push dword [ebp + 0xc]
call fcn.10004390
xor ebx, eax
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000ae4e
jo 0x1000ae18
jne 0x1000aeb6
jo 0x1000aeb6
inc ebx
add byte [edi], ch
insb byte es:[edi], dx
add byte [edi], ch
jb 0x1000ae72
lea eax, [ebp - 0x50]
push eax
call fcn.100042d5
cmp dword [ebp - 0x68], 0
je 0x1000ae8f
push 2
push dword [ebp - 0x10]
call 0x10009a13
mov dword [ebp - 4], eax
mov eax, dword [0x1000e03a]
push dword [ebp - 4]
add eax, 0x300000
push eax
push dword [0x1000d704]
call dword [0x1000d0b8]
mov ebx, eax
test ebx, ebx
je 0x100096c9
push ebx
mov byte [ebp - 0x78], 0xb7
lea eax, [ebp - 0x40]
push eax
call fcn.100042d5
and eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x70]
mov word [ebp - 0x80], 0x34b
mov dword [ebp - 0x48], esi
or ebx, dword [ebp - 0x78]
mov edx, eax
or esi, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x70]
push ecx
call fcn.100042d5
xor edi, ebx
cmp dword [ebp - 0x68], 0x26
jne 0x1000af0e
inc eax
cmp ax, word [esi + 0x24]
jne 0x1000aed9
xor eax, eax
inc eax
xor eax, eax
mov byte [esi + 0x36], al
mov eax, dword [ebp - 0xa]
xor ecx, ecx
mov cx, word [esi + 0x2e]
xor edx, edx
mov dx, word [esi + 0x2a]
sub cx, dx
inc ecx
cmp ax, cx
jge 0x1000aeee
or dword [ebp - 0x58], 0x7b
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 0x62
jne 0x1000af56
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [ebp - 4]
push eax
push dword [esi + 0x28]
xor edi, edi
mov dword [ebp + 8], edi
call fcn.10008f41
cmp eax, edi
jl 0x1000afa1
push dword [eax]
cmp dword [ebp - 0x28], 0x10000002
jne 0x1000af88
neg eax
sbb eax, eax
inc eax
cmp eax, edi
mov dword [ebp - 0x30], edi
mov ebx, 0x1000d6a4
je 0x1000b10d
mov esi, dword [0x1000dd32]
push ebx
call esi
mov eax, dword [0x1000db4f]
cmp eax, edi
mov edi, dword [0x1000dbb5]
je 0x1000b127
mov dword [ebp - 0x18], eax
mov eax, dword [eax]
push ebx
mov dword [0x1000d54c], eax
call edi
push 1
push dword [ebp - 0x18]
mov edx, dword [ebp - 0x40]
add edi, edx
and eax, dword [ebp - 0x7c]
sub ebx, 0x2c
cmp dword [ebp - 0x28], 1
je 0x1000b155
mov word [ebx + 0xc], 0x38
mov dword [ebx + 0x10], 0x100
cmp dword [ebp - 0x2c], eax
je 0x1000b121
xor eax, eax
mov word [ebx + 0xa], 0x10
mov word [ebx + 0xc], 0x2a
mov dword [ebx + 0x10], eax
mov word [ebx], 1
mov dword [ebx + 4], eax
mov word [ebx + 8], 1
inc dword [ebp - 8]
mov word [ebx + 0xe], ax
add ebx, 0x14
add dword [ebp - 0x1c], 2
inc dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp + 0x10]
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x34], ebx
xor esi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x68], 0x10000002
jne 0x1000b19e
mov ax, word [ebp - 4]
add word [esi + 0x3e], ax
mov eax, dword [ebp + 8]
add dword [esi + 0x40], eax
add dword [esi + 0x34], edi
test dl, 3
je 0x10008e47
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x44]
cmp eax, esi
je 0x100056f5
push eax
call 0x1000986e
mov eax, dword [edi + 0x44]
mov eax, dword [ebp - 0x38]
add ecx, edx
sub esi, 4
add ecx, eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x38], eax
or dword [ebp - 0x7c], ecx
mov ebx, dword [ebp - 0x38]
shr ebx, 1
mov dword [ebp - 0x38], ebx
or edi, dword [ebp - 0x80]
add edi, dword [ebp - 0x34]
sub dword [ebp - 0x40], 1
jne 0x1000b1b1
sub ecx, ebx
cmp dword [ebp - 0x28], 1
je 0x1000b1fe
cmp eax, edi
mov dword [ebp + 8], eax
jge 0x1000b1f4
push dword [ebx + 0x5c]
push dword [0x1000d4ab]
call 0x100082a7
jmp 0x10007120
lea ecx, [ebp - 0x40]
push ecx
call fcn.100042d5
cmp dword [ebp - 0x28], 1
je 0x1000b22b
sub esp, 0x10
push esi
mov esi, dword [ebp + 8]
test esi, esi
jne 0x1000b216
xor eax, eax
mov edx, dword [esi + 4]
test dl, 1
jne 0x1000b1e4
mov eax, 0x1000d82b
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x28], 0xffffff91
jne 0x1000b264
add byte [eax], al
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, dword [0x1000d6c0]
push esi
mov esi, dword [ebp + 8]
test byte [esi + 0x10], 4
push edi
je 0x1000b237
push dword [esi + 0xc]
call ebx
mov edi, dword [0x1000ded1]
lea eax, [esi + 0x14]
push eax
call edi
push eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x68], 0
je 0x1000b283
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
cmp byte [eax + 0x2a1], 0
je 0x1000b216
xor edi, ecx
lea ecx, [ebp - 0x70]
push ecx
call fcn.100042d5
and word [ebp - 0x84], 0xaa
sub ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x68], 0xffffffeb
jne 0x1000b2c0
push edi
push 1
push eax
lea edi, [esi + 0x34]
push edi
push esi
call dword [0x1000d134]
test al, al
jne 0x1000b263
mov esi, 0x1000deee
push dword [esi + 0x2c]
xor eax, eax
mov al, byte [esi + 0x39]
mov edi, dword [ebp - 0x48]
and esi, edi
add esi, 0xa646
push dword [edi]
add word [ebp - 0x78], 0xc4b
add dword [ebp - 0x48], 0xc
xor edi, dword [ebp - 0x64]
ret