Function at 0x10002b70
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov al, byte [0x1000e002]
movsx eax, byte [0x1000e017]
mov dword [ebp - 0x40], 0xa2
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x30], 0x2d
push ebx
mov bh, byte [0x1000e060]
mov bl, 0xe5
mov word [ebp - 0x14], ax
mov dword [ebp - 0x48], ecx
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
movzx eax, byte [0x1000e005]
mov byte [ebp - 2], cl
mov ecx, 0xffffc473
mov word [ebp - 0x10], ax
mov byte [ebp - 1], 0x77
push esi
mov esi, dword [0x1000e038]
push edi
mov edi, dword [0x1000e03c]
mov eax, dword [0x1000e064]
mov dword [ebp - 0x2c], 0xb79d2fe6
mov word [ebp - 0x28], cx
mov dword [ebp - 0x20], 0xf1089569
mov dword [ebp - 0x1c], 0x60025
mov dword [ebp - 0x68], 0xd2f040c2
mov dword [ebp - 0x64], 0xcf908
mov word [ebp - 0x44], ax
mov dword [ebp - 0x34], eax
mov eax, dword [0x1000e060]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x54], 0x3f4
mov eax, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
movzx eax, byte [section..data]
mov byte [ebp - 9], al
mov eax, dword [0x1000e090]
mov byte [ebp - 9], 0xc8
movzx eax, word [0x1000e068]
mov word [ebp - 0xc], ax
mov byte [ebp - 9], 0x35
movsx eax, byte [0x1000e007]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x54], 0xbc2dbd23
movzx eax, byte [0x1000e002]
mov dword [ebp - 0x6c], edx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [0x1000e010]
mov edx, dword [0x1000e084]
mov ecx, dword [0x1000e080]
mov byte [ebp - 0x21], bh
test edx, edx
jg 0x10002c9f
jl 0x10002c8d
cmp ecx, 0xa373
ja 0x10002c9f
mov eax, 1
test edx, edx
jg 0x10002ca1
jl 0x10002ca9
cmp ecx, 0x28
ja 0x10002ca1
jmp 0x10002ca9
xor eax, eax
test eax, eax
jne 0x10002dca
sub esp, 0x10
call fcn.10001730
movzx eax, ax
add esp, 0x10
cdq
mov dword [0x1000e038], eax
mov dword [0x1000e03c], edx
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
test eax, eax
ja 0x10002cdf
jb 0x10002cd8
test ecx, ecx
jne 0x10002cdf
mov ecx, 1
jmp 0x10002ce1
xor ecx, ecx
mov edx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
test eax, eax
ja 0x10002cfe
jb 0x10002cf7
cmp edx, 0x29
ja 0x10002cfe
mov eax, 1
jmp 0x10002d00
xor eax, eax
cmp ecx, eax
jne 0x10002d78
mov ax, word [ebp - 0x14]
sub esp, 0x38
mov al, byte [0x1000e007]
mov eax, dword [0x1000e028]
mov ecx, dword [0x1000e02c]
call fcn.10001920
mov dword [0x1000e088], eax
add esp, 0x38
mov dword [0x1000e08c], edx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
mov dword [ebp - 0x5c], 0
cmp dword [ebp - 0x5c], eax
ja 0x10002e06
jb 0x10002d56
cmp edx, ecx
jae 0x10002e06
mov eax, dword [0x1000e048]
or eax, dword [0x1000e04c]
je 0x10002e06
sub dword [0x1000e030], esi
sbb dword [0x1000e034], edi
jmp 0x10002e06
cmp dword [0x1000e020], 0
jne 0x10002d8a
mov edx, 1
xor ecx, ecx
jmp 0x10002d98
xorps xmm0, xmm0
movlpd qword [ebp - 0x58], xmm0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
cmp edx, eax
jne 0x10002db7
cmp ecx, esi
jne 0x10002db7
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
cmp eax, ecx
jne 0x10002db7
test edx, edx
je 0x10002e06
movzx eax, word [ebp - 0x10]
xor eax, 0xffffa373
add ax, word [ebp - 0x10]
mov word [ebp - 0x10], ax
jmp 0x10002e06
movzx eax, word [0x1000e07c]
xor edx, edx
movzx ecx, byte [0x1000e001]
test ax, ax
cmove edx, ecx
mov dword [0x1000e088], edx
mov dword [0x1000e08c], 0
movzx eax, word [0x1000e024]
add eax, 0xffff928c
add ax, word [ebp - 0x44]
mov word [0x1000e024], ax
mov eax, dword [0x10047e58]
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add edi, 0xaabfad4
mov dword [ebp - 0x80], edi
adc eax, 0x78f3a
xor edx, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x1000e05c]
add eax, 0x33a
mov dword [0x1000e008], ecx
mov dword [0x1000e00c], 0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
add eax, 0x33a
mov dword [ebp - 0x70], eax
mov eax, dword [0x1000e090]
cmp eax, 0xaf
mov eax, dword [0x1000e090]
setge dl
xor ecx, ecx
cmp eax, 0x2e
setge cl
cmp edx, ecx
jae 0x10002eb4
mov edx, 0xd3
nop dword [eax]
movsx eax, byte [ebp - 1]
movsx ecx, word [ebp - 0x10]
add ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp byte [0x1000e004], 0xcc
sete al
dec edx
and eax, ecx
mov dword [0x1000e05c], eax
mov eax, dword [0x1000e090]
inc eax
mov dword [0x1000e090], eax
test edx, edx
jg 0x10002e80
jmp 0x10002f04
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x1000e058]
mov esi, dword [ebp - 0x68]
cdq
add eax, ecx
mov ecx, dword [ebp - 0x64]
adc edx, 0
add esi, eax
adc ecx, edx
add esi, 0x4aa337cb
adc ecx, 0xffffcbdf
or esi, ecx
jne 0x10002ee1
lea ecx, [esi + 1]
jmp 0x10002ee3
xor ecx, ecx
mov eax, dword [ebp - 0x30]
xorps xmm0, xmm0
add eax, 0x1c011948
movlpd qword [0x1000e018], xmm0
neg eax
sbb eax, eax
inc eax
sub ax, cx
mov word [0x1000e07c], ax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
add eax, 0x2bd
mov dword [ebp - 0x5c], eax
mov cx, word [ebp - 0x28]
movsx ax, dl
cmp ax, cx
jl 0x10002f4a
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
cmp dword [0x1000e04c], eax
ja 0x10002f4a
jb 0x10002f3c
cmp dword [0x1000e048], ecx
jae 0x10002f4a
mov al, byte [ebp - 1]
mov byte [0x1000e006], dl
mov byte [0x1004c44a], al
mov al, byte [0x1000e016]
mov al, byte [0x1000e007]
mov eax, 0xd7d
mov word [0x1000e06c], ax
mov eax, dword [0x1000e05c]
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [0x1000e064]
xor eax, eax
cmp edx, dword [0x1000e048]
jne 0x10002f8d
cmp eax, dword [0x1000e04c]
jne 0x10002f8d
lea ecx, [eax + 1]
jmp 0x10002f8f
xor ecx, ecx
xor eax, eax
mov byte [ebp - 1], 0xe1
cmp edx, 7
sete al
cmp ecx, eax
ja 0x10003003
cmp dword [0x1000e020], 0
mov eax, 0x74e1
je 0x10002ffb
movzx eax, byte [0x1000e001]
mov ecx, dword [0x1000e050]
mov esi, dword [0x1000e054]
cdq
mov edi, eax
mov eax, dword [0x1000e050]
sub edi, ecx
mov ecx, dword [0x1000e054]
sbb edx, esi
add eax, edi
mov edi, dword [ebp - 0x80]
adc ecx, edx
mov dword [0x1000e050], eax
mov dword [0x1000e054], ecx
mov ecx, 0x163e
movsx ax, bh
sub ax, cx
mov cl, bh
sub cl, 0x3e
movzx eax, ax
mov byte [ebp - 1], cl
movzx esi, ax
mov dword [ebp - 0x78], esi
jmp 0x10003014
mov eax, dword [0x1000e05c]
mov dword [0x1000e078], eax
mov dword [ebp - 0x78], 0x74e1
mov esi, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1000e090]
cmp eax, 0x1e
mov eax, dword [0x1000e090]
setne dl
xor ecx, ecx
cmp eax, 0x4f
setne cl
cmp edx, ecx
jb 0x1000307c
mov eax, dword [0x1000e030]
or eax, dword [0x1000e034]
je 0x10003063
mov al, byte [0x1000e003]
sub al, 0x72
mov dword [ebp - 0x20], 0x40a8e889
mov dword [ebp - 0x1c], 0x4795a
mov byte [section..data], al
jmp 0x10003082
cmp word [0x1000e068], 0
je 0x10003082
mov eax, dword [ebp - 0x34]
cbw
shl ax, 3
mov word [ebp - 0x28], ax
jmp 0x10003082
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [esi + 4]
mov dword [ebp - 0x34], eax
nop dword [eax + eax]
mov eax, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
mov byte [0x1000e003], 0x6d
cmp eax, 0xb947
jne 0x100030c4
test ecx, ecx
jne 0x100030c4
mov eax, dword [0x1000e028]
mov ecx, dword [0x1000e02c]
cmp eax, 0xffff46de
jne 0x100030c4
cmp ecx, 0xffffffff
je 0x10003090
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [0x1000e05c]
inc eax
mov dword [0x1012367c], ecx
cmp dword [ebp - 0x6c], 0
mov dword [0x1000e05c], eax
jbe 0x100035d8
mov eax, dword [ebp + 8]
mov edx, 2
sub eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
nop dword [eax]
nop word [eax + eax]
movsx eax, byte [0x1000e017]
movsx ecx, byte [ebp - 1]
imul ecx, eax
cmp byte [0x1000e006], 0
not cl
mov byte [0x1000e007], cl
je 0x10003128
mov word [0x1000e024], dx
jmp 0x1000314e
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x40], eax
adc ecx, 0
mov dword [0x1000e030], 0x36
mov dword [ebp - 0x3c], ecx
mov dword [0x1000e034], 0
mov eax, dword [0x10047e58]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
add eax, 0x34b
mov dword [ebp - 0xc], eax
mov eax, dword [0x1000e090]
sub al, 0x76
mov byte [ebp - 2], al
mov eax, dword [ebp - 8]
add eax, 0x143
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
add eax, 0x1ae
mov dword [ebp - 0x74], eax
movsx eax, word [ebp - 0x10]
add eax, 0x36f0020b
mov dword [0x1000e098], eax
mov eax, dword [0x10047e58]
mov dword [ebp - 8], eax
movzx eax, word [ebp - 0x44]
cdq
cmp dword [ebp - 0x84], edx
jg 0x100031c2
jl 0x100031ad
cmp edi, eax
ja 0x100031c2
mov ax, word [0x1000e068]
add ax, 0x19
mov word [ebp - 0x14], ax
mov byte [0x1000e007], 0xe8
mov eax, dword [ebp - 8]
add eax, 0xbf
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 8]
add eax, 0x3b0
mov dword [ebp - 0x7c], eax
movsx eax, bl
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x1000e088]
mov ecx, dword [0x1000e08c]
cmp ecx, edi
jb 0x100031fc
ja 0x100031f5
cmp eax, esi
jbe 0x100031fc
mov ecx, 1
jmp 0x100031fe
xor ecx, ecx
mov edx, dword [0x1000e088]
mov eax, dword [0x1000e08c]
test eax, eax
jne 0x10003212
cmp edx, 0x4c
jbe 0x10003217
mov eax, 1
cmp ecx, eax
jbe 0x1000324f
mov ecx, dword [0x1000e028]
mov eax, dword [0x1000e02c]
not ecx
not eax
cmp eax, edi
jb 0x1000324f
ja 0x10003234
cmp ecx, esi
jbe 0x1000324f
mov al, byte [ebp - 2]
mov ax, word [ebp - 0x28]
mov dword [0x1000e008], 0xffffff2f
mov dword [0x1000e00c], 0xffffffff
mov eax, dword [ebp - 8]
add eax, 0xd0
mov dword [ebp - 8], eax
mov eax, dword [0x10047e58]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x5b
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x4c]
add eax, 0xac
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x35f
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x88], eax
je 0x100035bc
movsx eax, word [0x1000e068]
mov esi, 0
add eax, 0x2b
cdq
mov dword [0x1000e050], eax
mov dword [0x1000e054], edx
imul ecx, dword [ebp - 0x8c], 0xf6
mov eax, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
add eax, ecx
xor edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x74]
imul edx, eax
mov eax, dword [ebp - 0xc]
mov dword [0x1000e070], 0x77979462
mov dword [0x1000e074], 0
imul ecx, edx
mov edx, 0xff
imul eax, ecx
mov ecx, dword [ebp - 0x48]
sub edx, eax
mov eax, dword [ebp - 0x18]
inc eax
and edx, eax
mov al, byte [0x1000e030]
not al
mov dword [ebp - 0x18], edx
add al, byte [0x1000e005]
not al
add al, byte [0x1000e048]
mov byte [ebp - 2], al
mov eax, 0xdb
mov word [0x1000e07c], ax
mov al, byte [ecx + edx + 8]
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 9], al
movzx eax, al
add eax, dword [ebp - 0x34]
add ecx, dword [0x1000e070]
movzx edi, al
mov eax, dword [0x1000e010]
adc esi, dword [0x1000e074]
cdq
mov dword [ebp - 0x34], edi
cmp eax, ecx
jne 0x10003403
cmp edx, esi
jne 0x10003403
nop dword [eax]
mov eax, dword [0x1000e064]
imul eax, eax
test eax, eax
je 0x1000337b
mov eax, dword [ebp - 0x2c]
sub eax, 0x4125
mov dword [0x1000e060], eax
jmp 0x100033a1
cmp byte [section..data], 0
jne 0x100033a1
mov ax, word [ebp - 0x14]
xor ax, word [ebp - 0x78]
mov cx, word [ebp - 0x14]
movzx eax, ax
sub cx, ax
mov word [ebp - 0x14], cx
mov eax, dword [0x1000e094]
sub bl, al
mov eax, dword [ebp - 0x30]
add eax, 0x2a0a
cmp dword [0x1000e018], eax
jne 0x10003403
cmp dword [0x1000e01c], 0
jne 0x10003403
movsx eax, bh
mov esi, 0
sub eax, 0xb4
mov dword [0x1000e070], 0x77979462
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x30]
add ecx, dword [0x1000e070]
mov eax, dword [0x1000e010]
mov dword [0x1000e074], 0
adc esi, dword [0x1000e074]
cdq
cmp eax, ecx
jne 0x10003403
cmp edx, esi
je 0x10003360
cmp dword [ebp - 0x2c], 0
jne 0x10003412
mov eax, 1
xor ecx, ecx
jmp 0x10003420
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov esi, dword [0x1000e01c]
mov dword [0x1000e048], eax
movsx eax, word [0x1000e068]
mov dword [0x1000e04c], ecx
mov ecx, dword [0x1000e018]
cdq
shld esi, ecx, 1
add ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [0x1000e018], ecx
sbb esi, edx
xor eax, dword [0x1000e080]
mov dword [0x1000e01c], esi
mov esi, dword [ebp - 0x48]
mov bh, byte [esi + edi + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
xor cl, al
mov eax, dword [ebp - 8]
sub cl, al
mov eax, dword [ebp - 8]
add al, cl
mov ecx, dword [ebp - 8]
add cl, byte [ebp - 0x7c]
movzx eax, al
movzx edx, cl
imul edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x64]
xor cl, al
movzx ecx, cl
movzx eax, dl
imul ecx, eax
mov al, bh
sub al, cl
mov ecx, dword [ebp - 0x18]
mov byte [esi + ecx + 8], al
movsx eax, byte [0x1000e004]
cdq
mov dword [0x1000e040], eax
mov al, byte [ebp - 9]
mov byte [esi + edi + 8], al
mov dword [0x1000e044], edx
mov dword [0x1000e05c], 1
mov eax, dword [ebp - 0x30]
inc eax
cmp dword [0x1000e05c], eax
jne 0x100034e9
mov eax, dword [0x1000e058]
add eax, 0x2550988c
mov dword [0x1000e060], eax
mov eax, dword [0x1000e094]
mov dword [0x1000e05c], 1
mov ecx, 0x9b
mov eax, dword [0x1000e094]
sub ecx, eax
mov eax, dword [0x1000e05c]
add eax, ecx
cmp byte [ebp - 2], 0
mov dword [0x1000e05c], eax
movsx eax, bl
mov byte [0x1000e016], 8
mov dword [ebp - 0x64], eax
mov al, byte [0x1000e001]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
jne 0x10003532
mov esi, 1
xor edi, edi
jmp 0x10003540
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
push dword [0x1000e00c]
movzx eax, byte [0x1000e005]
push dword [0x1000e008]
cdq
push edx
push eax
call fcn.1000cc80
add eax, esi
adc edx, edi
or eax, edx
jne 0x10003568
lea edx, [eax + 1]
jmp 0x1000356a
xor edx, edx
movzx eax, byte [ebp - 2]
xor ecx, ecx
imul eax, dword [ebp - 0x64]
cmp byte [0x1000e017], cl
mov esi, dword [ebp - 0x48]
sete cl
add eax, ecx
mov ecx, dword [0x1000e060]
neg ecx
sbb ecx, ecx
add ecx, 2
add eax, ecx
mov ecx, dword [ebp + 0xc]
xor eax, edx
cdq
mov dword [0x1000e018], eax
mov al, byte [ebp - 9]
add al, bh
mov dword [0x1000e01c], edx
mov edx, dword [ebp + 8]
mov bh, byte [ebp - 0x21]
movzx eax, al
movzx eax, byte [eax + esi + 8]
xor al, byte [edx + ecx]
mov byte [ecx], al
jmp 0x100035c2
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x80]
inc ecx
sub dword [ebp - 0x6c], 1
mov edx, 2
mov dword [ebp + 0xc], ecx
jne 0x10003100
mov edx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
mov ecx, dword [0x1000e05c]
mov eax, dword [0x1000e05c]
add ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [0x1000e05c], eax
mov al, byte [0x1000e016]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
pop edi
mov dword [esi + 4], ecx
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret