Function at 0x10007290
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
mov eax, dword [0x1001001c]
movzx esi, ax
mov eax, 0x78
mov word [esp + 0x5c], ax
mov al, byte [0x10010001]
mov byte [esp + 0x42], al
movzx eax, word [0x10010050]
mov dword [esp + 0x84], eax
movsx eax, byte [0x1001001b]
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
movzx eax, byte [0x1001002e]
mov bl, byte [0x1001001a]
mov word [esp + 0x34], ax
mov al, byte [0x10010001]
mov byte [esp + 0x14], al
mov al, byte [0x10010064]
mov byte [esp + 0x1f], al
movsx eax, byte [0x10010007]
cdq
mov dword [esp + 0x78], eax
mov eax, dword [0x10010010]
mov dword [esp + 0x7c], edx
mov edi, dword [0x10010020]
mov word [esp + 0x20], ax
mov bh, byte [0x10010017]
mov eax, dword [0x10010058]
mov word [esp + 0x58], ax
mov eax, 0xffff8f25
mov word [esp + 0x24], ax
mov eax, 0xa5a9
mov dword [esp + 0x88], 0x99
mov dword [esp + 0x8c], 0
mov word [esp + 0x54], ax
mov al, byte [0x1001002e]
mov byte [esp + 0x13], al
mov ecx, dword [0x10010090]
mov eax, dword [0x10010094]
movzx eax, word [0x10010030]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [0x1001006c]
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov ax, word [0x10010070]
mov ax, word [0x10010014]
mov dword [esp + 0x38], 0x82
mov al, byte [0x10010002]
mov eax, 0xfffffbfe
mov dword [esp + 0x64], esi
mov word [esp + 0x28], ax
mov al, byte [0x10010003]
mov eax, dword [0x10010024]
mov dword [esp + 0x38], eax
mov al, bl
sub al, 2
mov dword [esp + 0x74], 0xebb5dbc5
mov byte [0x1001001a], al
mov eax, dword [0x100101ec]
mov dword [esp + 0x28], eax
cmp byte [esp + 0x13], 0
mov dword [esp + 0x60], 0x15
mov byte [esp + 0x33], bl
mov dword [esp + 0x68], edi
mov byte [esp + 0x43], bh
je 0x10007422
test si, si
je 0x10007403
mov ax, word [esp + 0x54]
jmp 0x10007408
mov eax, dword [0x10010024]
mov byte [0x10010016], al
mov ecx, 0xe8
mov ax, word [0x10010084]
add ax, cx
mov word [esp + 0x34], ax
jmp 0x10007445
mov ecx, dword [0x10010058]
mov eax, dword [0x10010054]
mul ecx
mov esi, eax
mov eax, dword [0x10010050]
mul ecx
add esi, edx
mov dword [0x10010050], eax
mov dword [0x10010054], esi
mov eax, dword [esp + 0x28]
add eax, 0x149
mov dword [esp + 0x44], eax
mov al, byte [section..data]
sub al, 0x63
add al, byte [0x10010002]
mov byte [0x10010002], al
mov eax, dword [esp + 0x28]
add eax, 0x11a
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
add eax, 0x3f
mov dword [esp + 0x70], eax
mov ecx, dword [0x10010080]
movzx eax, word [0x100100a4]
cmp eax, ecx
jl 0x100074b3
movsx ax, bh
not ax
or ax, word [esp + 0x20]
mov word [0x1001004c], ax
mov eax, dword [0x10010098]
shl eax, 4
cdq
mov dword [0x10010008], eax
mov dword [0x1001000c], edx
mov eax, dword [0x100101ec]
xor ecx, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add eax, 0x79
mov dword [esp + 0x6c], eax
mov ax, word [0x10010084]
mov ax, word [0x1001003c]
mov ax, word [esp + 0x5c]
mov eax, dword [esp + 0x28]
add eax, 0xc585
cmp dword [0x10010020], ecx
mov dword [esp + 0x18], eax
sete cl
movsx ax, bh
xor edx, edx
not ax
or cx, ax
movzx eax, byte [esp + 0x14]
add cx, ax
mov eax, edi
xor eax, dword [esp + 0x2c]
movsx ecx, cx
cwde
imul ecx, eax
mov eax, 0x7261
mov word [esp + 0x58], cx
mov cx, word [0x10010014]
movzx ecx, cx
imul ecx, eax
mov word [esp + 0x54], cx
mov eax, dword [esp + 0x28]
add eax, 0x2a
mov dword [esp + 0x28], eax
mov ecx, dword [0x1001005c]
movzx eax, byte [0x1001002c]
cmp ecx, eax
mov eax, dword [0x1001005c]
sete dl
xor ecx, ecx
cmp eax, 4
sete cl
cmp edx, ecx
ja 0x100075ce
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
or ecx, eax
mov dx, word [esp + 0x2c]
je 0x10007598
movzx eax, word [esp + 0x58]
mov ecx, 0x792f
add ax, cx
mov ecx, 0x539f
mov word [esp + 0x5c], ax
movzx eax, word [esp + 0x20]
sub ax, cx
add dx, ax
mov word [esp + 0x24], dx
jmp 0x10007654
mov al, byte [section..data]
mov eax, 1
mov word [esp + 0x24], dx
mov word [esp + 0x58], ax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov eax, 0x1393
add cx, ax
mov word [0x10010084], cx
jmp 0x10007654
mov eax, dword [esp + 0x84]
movsx ecx, word [esp + 0x24]
movzx eax, ax
add ecx, eax
je 0x10007604
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dx, word [esp + 0x2c]
mov eax, 0x390
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
mov word [esp + 0x24], dx
jmp 0x10007654
cmp byte [0x10010002], 0
je 0x1000764a
movsx eax, byte [esp + 0x42]
cdq
and eax, 0x592410f2
mov dword [0x10010078], eax
mov eax, edi
mov dword [0x1001007c], 0
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
cdq
sub ecx, eax
mov dword [esp + 0x48], ecx
sbb esi, edx
mov dx, word [esp + 0x2c]
mov dword [esp + 0x4c], esi
mov word [esp + 0x24], dx
jmp 0x10007654
mov ax, word [esp + 0x2c]
mov word [esp + 0x24], ax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x6c]
xor eax, ecx
xor eax, 0x5d9f91
mov dword [esp + 0x38], eax
movsx ax, bl
mov word [0x1008c55c], ax
movzx eax, word [0x1001003c]
imul eax, eax, 0x8c
mov dword [0x10010020], eax
mov eax, dword [0x100101ec]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, 0xfd45
mov dword [esp + 0x18], eax
test bl, bl
jne 0x100076c4
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov al, byte [0x10010016]
sub al, byte [0x10010098]
not al
add al, 0x15
mov byte [0x10010001], al
mov eax, dword [esp + 0x2c]
add eax, 0x43
mov dword [esp + 0x84], eax
movsx ecx, word [0x10010018]
movsx ax, bh
cwde
imul eax, ecx
mov word [0x10010018], ax
mov eax, dword [esp + 0x2c]
add eax, 0xbcf4
movsx edx, word [0x1001009c]
mov dword [esp + 0x6c], eax
mov eax, dword [0x10010098]
mov word [esp + 0x28], ax
mov al, byte [0x10010006]
mov byte [esp + 0x14], al
mov byte [esp + 0x14], 0xe6
mov al, byte [0x1001002e]
mov al, byte [0x1001002e]
mov eax, dword [0x10010080]
mov bl, byte [0x1001006c]
mov eax, 0xc8
mov word [esp + 0x14], ax
mov ax, word [0x1001008c]
mov eax, 0xffffe6d5
mov word [esp + 0x14], ax
mov dword [esp + 0x2c], 0xad
movzx eax, word [0x10010014]
mov byte [esp + 0x14], al
mov byte [esp + 0x14], 1
mov eax, dword [0x10010028]
mov byte [esp + 0x14], 0x11
mov eax, dword [0x1001005c]
mov al, byte [section..data]
mov al, byte [0x10010007]
mov eax, dword [0x1001001c]
mov ecx, dword [0x10010098]
add eax, 0x57
mov word [esp + 0x14], ax
mov eax, ecx
xor eax, 0xd9
sub ecx, eax
mov eax, dword [0x10010028]
and eax, 0x169a
mov dword [0x10010098], ecx
mov word [0x10010068], ax
movzx eax, word [0x10010014]
cwde
movsx ecx, dx
imul eax, ecx
mov word [0x10010014], ax
mov ax, word [esp + 0x28]
movsx eax, bl
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x10007809
cmp byte [0x10010003], 0
je 0x100077ed
mov bh, byte [0x10010064]
movzx eax, word [esp + 0x2c]
add bh, 0x10
mov dword [esp + 0x60], eax
mov byte [esp + 0x43], bh
jmp 0x10007812
mov ax, word [0x10010014]
mov bh, byte [0x10010064]
movzx eax, ax
add bh, 0x10
mov dword [esp + 0x60], eax
mov byte [esp + 0x43], bh
jmp 0x10007812
mov al, byte [0x100101ec]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x44]
sub esp, 8
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x78]
sub edx, eax
imul edx, dword [esp + 0x44]
mov eax, dword [esp + 0x74]
or eax, dword [esp + 0x20]
imul edx, ecx
add edx, 0x1fb7d
sub edx, eax
mov eax, dword [esp + 0x20]
sub edx, eax
mov eax, dword [esp + 0x8c]
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [0x1001005c]
add al, 0x14
mov byte [0x1001002c], al
mov eax, dword [0x100101ec]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
cwde
sub eax, 0x1ccc
mov dword [0x10010024], eax
mov eax, dword [esp + 0x20]
add eax, 0x272
mov dword [esp + 0x78], eax
mov ax, word [0x10010084]
call fcn.10001000
mov byte [esp + 0x1c], al
add esp, 8
movsx eax, word [esp + 0x34]
cdq
cmp edx, 0xffffffff
ja 0x100078ac
jb 0x100078a5
cmp eax, 0xffff4a8e
jae 0x100078ac
mov ecx, 0xfffffffe
jmp 0x100078af
or ecx, 0xffffffff
movsx eax, word [esp + 0x20]
cmp eax, ecx
jl 0x1000795f
movsx eax, byte [esp + 0x42]
cdq
mov ebx, edx
mov dword [esp + 0x3c], eax
cmp eax, dword [0x10010008]
jne 0x100078df
cmp ebx, dword [0x1001000c]
jne 0x100078df
mov ecx, 1
jmp 0x100078e1
xor ecx, ecx
movsx eax, word [0x10010048]
cmp eax, ecx
je 0x1000795f
movsx eax, word [esp + 0x20]
not eax
test eax, eax
je 0x1000791e
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
sub edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
sbb esi, ebx
add eax, edx
mov dword [esp + 0x48], eax
adc ecx, esi
mov dword [esp + 0x4c], ecx
jmp 0x100079b9
cmp word [0x1001003c], 0
je 0x100079b9
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
not cl
movzx eax, word [esp + 0x20]
xor al, cl
mov ecx, 0x6736
mov byte [0x1001002c], al
movzx eax, word [0x10010038]
sub ax, cx
mov word [0x1001003c], ax
jmp 0x100079b9
movzx eax, word [0x100100a4]
mov esi, dword [0x10010090]
mov ecx, dword [0x10010094]
cdq
cmp edx, ecx
jl 0x10007984
jg 0x1000797d
cmp eax, esi
jbe 0x10007984
mov ecx, 1
jmp 0x10007986
xor ecx, ecx
mov eax, edi
not eax
cmp ecx, eax
jg 0x100079a7
cmp byte [0x1001001a], 0
jne 0x100079a7
cmp word [esp + 0x54], 0
je 0x100079a7
cmp word [esp + 0x34], 0
jne 0x100079b9
mov al, byte [0x10010007]
sub al, 0x3b
and al, byte [0x10010007]
mov byte [0x10010007], al
mov eax, dword [esp + 0x18]
xor edx, edx
add eax, 0x6f
mov dword [esp + 0x6c], eax
movzx eax, byte [0x10010017]
cmp dword [0x10010020], eax
sete dl
xor eax, eax
cmp dword [0x10010020], 0x5b
sete al
cmp edx, eax
jne 0x100079f1
mov eax, dword [0x100101ec]
mov dword [esp + 0x68], eax
jmp 0x10007a0b
test edi, edi
je 0x10007a0b
mov ax, word [esp + 0x20]
movzx eax, word [0x1001003c]
add eax, 0x715133ff
mov dword [0x10010080], eax
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
add eax, 0x15c
mov ebx, dword [ebp + 8]
mov dword [esp + 0x3c], eax
cmp ebx, edi
jge 0x10007fed
cmp word [0x10010018], 0
jne 0x10007a4a
cmp word [0x1001008c], 0
je 0x10007a46
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
or ecx, eax
jne 0x10007a4a
xor esi, esi
jmp 0x10007a4f
mov esi, 1
mov eax, dword [0x10010078]
xor edx, edx
mov ecx, dword [0x1001007c]
movsx eax, byte [esp + 0x43]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
setle dl
cmp esi, edx
jbe 0x10007ad1
sub esp, 8
call fcn.100012e0
add esp, 8
mov byte [0x1001001b], al
test al, al
jne 0x10007ab6
movsx edx, word [0x10010038]
mov eax, 0x3b3
add dword [esp + 0x64], eax
mov ecx, 0xebb5dbc5
nop word [eax + eax]
add ecx, 0xb604aada
add ecx, edx
sub eax, 1
jne 0x10007aa0
mov dword [esp + 0x74], ecx
jmp 0x10007b93
movzx ecx, byte [section..data]
mov eax, 0x5ebc
imul ecx, eax
mov word [0x1001003c], cx
jmp 0x10007b93
movzx eax, byte [0x10010017]
cmp word [esp + 0x64], ax
jne 0x10007b26
push 0x5dc98
push 0xa9d5ce52
mov eax, 0x34d0
mov word [esp + 0x28], ax
mov eax, dword [0x10010058]
push 0
push eax
call fcn.1000e090
mov ecx, eax
mov esi, edx
movzx eax, byte [0x10010003]
cdq
cmp ecx, eax
jne 0x10007b1d
cmp esi, edx
jne 0x10007b1d
mov al, 1
mov byte [0x10010002], al
jmp 0x10007b93
xor al, al
mov byte [0x10010002], al
jmp 0x10007b93
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
cdq
cmp eax, ecx
jne 0x10007b40
cmp edx, esi
jne 0x10007b40
xor edx, edx
jmp 0x10007b45
mov edx, 1
mov ax, word [0x10010018]
xor ecx, ecx
cmp word [esp + 0x60], ax
sete cl
cmp ecx, edx
jb 0x10007b71
movsx eax, word [esp + 0x34]
sub eax, 0x66
mov dword [0x10010024], eax
mov al, byte [esp + 0x13]
mov ax, word [esp + 0x5c]
jmp 0x10007b93
movsx eax, word [esp + 0x20]
cmp eax, dword [0x10010058]
movzx eax, word [0x10010084]
sbb ecx, ecx
inc ecx
cmp eax, ecx
je 0x10007b93
mov al, byte [esp + 0x1f]
mov al, byte [0x10010003]
movzx ecx, word [0x1001003c]
xor ebx, ebx
movsx eax, word [0x10010048]
cmp eax, ecx
setl bl
xor eax, eax
cmp word [0x10010048], 1
setl al
cmp ebx, eax
jae 0x10007c87
mov ax, word [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
cwde
cdq
cmp ecx, eax
jne 0x10007bdb
cmp esi, edx
jne 0x10007bdb
mov ecx, 1
jmp 0x10007bdd
xor ecx, ecx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
cmp eax, 0x53
jne 0x10007bf3
test edx, edx
jne 0x10007bf3
lea eax, [edx + 1]
jmp 0x10007bf5
xor eax, eax
cmp ecx, eax
jne 0x10007c8c
cmp byte [0x10010016], 0
je 0x10007c8c
movsx eax, word [0x10010048]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000e090
or eax, edx
jne 0x10007c2c
lea ebx, [eax + 1]
jmp 0x10007c2e
xor ebx, ebx
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10007c4a
mov esi, 1
jmp 0x10007c4c
xor esi, esi
movsx edx, byte [esp + 0x33]
mov eax, dword [0x10010058]
movzx ecx, word [0x10010004]
imul edx, ebx
xor eax, ecx
mov ebx, dword [esp + 0x74]
imul edx, ebx
sub edx, eax
mov eax, dword [esp + 0x64]
sub edx, esi
movzx eax, ax
imul eax, dword [0x10010098]
mov word [esp + 0x34], dx
mov dword [0x10010098], eax
jmp 0x10007c90
mov al, byte [0x1001002e]
mov ebx, dword [esp + 0x74]
mov eax, dword [0x100101ec]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, 0x294
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0x1f]
movzx ecx, byte [esp + 0x1f]
add ecx, eax
add cl, byte [0x10010016]
mov byte [esp + 0x1f], cl
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
add eax, 0x27e
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x3c]
je 0x1000804f
movzx eax, byte [0x1001002e]
mov word [0x100c178a], ax
mov eax, dword [esp + 0x70]
add eax, 0x47b
cmp dword [esp + 0x6c], eax
je 0x1000804f
cmp byte [0x1001001a], 0
je 0x10007d1a
mov ax, word [esp + 0x88]
jmp 0x10007d21
movzx eax, byte [0x1001002c]
mov ecx, dword [0x10010090]
mov word [0x1001009c], ax
mov eax, dword [0x10010094]
mov eax, dword [0x100101ec]
mov word [esp + 0x34], cx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
or ecx, eax
jne 0x10007d5f
cmp byte [esp + 0x13], cl
jne 0x10007d5f
mov ecx, 1
jmp 0x10007d61
xor ecx, ecx
cmp word [0x10010068], 0
je 0x10007d7c
cmp word [0x100100a4], 0
je 0x10007d7c
mov eax, 1
jmp 0x10007d7e
xor eax, eax
cmp ecx, eax
jae 0x10007d87
mov eax, dword [0x10010024]
mov eax, dword [esp + 0x18]
add eax, 0x52
mov dword [esp + 0x60], eax
movzx eax, word [esp + 0x54]
imul eax, eax, 0xbfc67a38
test eax, eax
jne 0x10007daf
mov dword [esp + 0x44], 1
mov dword [esp + 0x64], eax
jmp 0x10007dd1
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [0x10010090]
mov esi, dword [0x10010094]
cdq
add ecx, eax
adc esi, edx
add ecx, 1
adc esi, 0
cmp dword [esp + 0x44], ecx
jne 0x10007df8
cmp dword [esp + 0x64], esi
je 0x10007e08
mov al, byte [0x1001006c]
mov byte [section..data], al
mov byte [0x10010001], bl
mov eax, dword [esp + 0x18]
xor ecx, ecx
add eax, 0xde
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
add eax, 0xa0ab
cmp dword [0x10010020], ecx
mov dword [esp + 0x38], eax
movzx eax, byte [0x10010017]
sete cl
not ax
sub esp, 0x18
sub ax, cx
movsx cx, byte [0x10010016]
mov word [esp + 0x38], ax
mov eax, 0xffffc0d8
cwde
movsx ecx, cx
imul ecx, eax
mov word [esp + 0x3c], cx
mov ecx, 0xa27d
mov eax, dword [esp + 0x78]
sub ecx, eax
mov eax, dword [esp + 0x50]
sub ecx, eax
mov eax, dword [esp + 0x78]
add eax, ecx
mov dword [0x10010064], 0xe117ef7e
mov dword [esp + 0x84], eax
mov eax, dword [0x100101ec]
mov dword [esp + 0x30], eax
movsx ecx, word [esp + 0x4c]
mov eax, dword [0x10010028]
imul eax, ecx
mov dword [0x10010028], eax
mov eax, dword [esp + 0x30]
add eax, 0x561c
mov dword [esp + 0x88], eax
movsx eax, bl
imul eax, eax, 0xffffff83
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x30]
add eax, 0x1d
mov dword [esp + 0x54], eax
call fcn.10001140
mov byte [section..data], al
add esp, 0x10
mov al, byte [section..data]
mov eax, dword [esp + 0x20]
add eax, 0x9d
mov dword [esp + 0x8c], eax
mov eax, dword [0x10010090]
mov ecx, dword [0x10010094]
call fcn.10001000
mov ebx, dword [esp + 0x70]
add esp, 8
mov byte [esp + 0x13], al
mov ax, word [esp + 0x58]
test ebx, ebx
je 0x10007f3b
mov eax, dword [esp + 0x38]
movsx eax, al
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100100a4]
cdq
sub ecx, eax
sbb esi, edx
sub ecx, dword [0x10010030]
sbb esi, dword [0x10010034]
mov dword [0x10010078], ecx
mov dword [0x1001007c], esi
jmp 0x10007f3f
mov al, byte [esp + 0x13]
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x70]
xor eax, 0x569e
mov dword [esp + 0x38], eax
mov ax, word [esp + 0x24]
test edi, edi
jle 0x1000804f
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov cl, byte [0x10010003]
mov al, byte [esp + 0x13]
shl cl, 4
add al, cl
mov byte [esp + 0x13], al
mov eax, dword [0x100101ec]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
mov ecx, dword [0x10010078]
mov eax, dword [0x1001007c]
mov byte [esp + 0x13], cl
mov ecx, 0x1a9
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
add eax, 0x35b
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
sub ecx, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
add edx, ecx
add eax, dword [esp + 0x70]
cmp edx, eax
je 0x10007fdb
push dword [ebp + 8]
mov byte [0x10010001], bl
call esi
sub edi, 1
jne 0x10007f63
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [esp + 0x33], 0
je 0x10008000
mov al, byte [0x1001009c]
mov byte [0x10010016], al
jmp 0x10008045
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
or ecx, eax
mov ecx, 0xffff4a8f
je 0x10008016
mov ecx, 0xffff4a8e
mov eax, dword [0x10010028]
cdq
cmp edx, 0xffffffff
ja 0x10008045
jb 0x10008027
cmp eax, ecx
ja 0x10008045
mov eax, dword [0x10010090]
mov ecx, dword [0x10010094]
xor eax, 0xe4
xor ecx, 0
mov dword [0x10010008], eax
mov dword [0x1001000c], ecx
lea eax, [ebx + edi]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8