Function at 0x100356db
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via queryperformancecounter
Clear file content
Create directory
Delete registry key
Enumerate files on windows
Extract resource via kernel32 functions
Get common file path
Get disk information
Get file attributes
Get file size
Get geographical location
Get thread local storage value
Parse pe header
Query environment variable
Query or enumerate registry value
Query service status
Read .ini file

Disassembly:
mov eax, 0x100809a0
call fcn.1007f0f0
mov eax, 0x124c
call fcn.1007b8a0
mov dword [ebp - 0x74], ecx
xor ecx, ecx
push ebx
inc ecx
mov byte [ebp - 0x89], dl
push esi
xor eax, eax
mov dword [ebp - 0x5c], ecx
push edi
mov dword [ebp - 0x14], eax
jmp 0x10035715
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5a0], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035708
mov eax, dword [ebp - 0x5c]
mov esi, dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x5a0], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x1c
jg 0x1003575f
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035753
call edi
push eax
call ebx
push eax
call esi
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x1c
jle 0x10035740
xor ecx, ecx
inc ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], eax
jmp 0x10035774
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x584], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035767
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x584], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x1003579f
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003579c
call edi
push eax
call ebx
push eax
call esi
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x1c
jle 0x10035789
mov dword [ebp - 0x1c], 0x398
lea ecx, [ebp - 0xc3c]
mov dword [ebp - 0x24], 0x7f5ed9a9
mov dword [ebp - 0x5c], eax
push 3
call fcn.10012648
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
jmp 0x100357e1
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc3c]
call fcn.100126e6
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100357cd
mov eax, dword [ebp - 0x1c]
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
mov ebx, dword [sym.imp.GDI32.dll_SetViewportOrgEx]
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x1003583e
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003583b
push eax
push 0x1201
push 0x26b3
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 2
jle 0x10035819
or eax, 0xffffffff
lea ecx, [ebp - 0xc3c]
mov dword [ebp - 4], eax
call fcn.100126ca
push 2
lea ecx, [ebp - 0x7c8]
call fcn.10012648
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], 0xbdba76aa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003589c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7c8]
call fcn.100126e6
mov dword [eax], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003587a
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x1003590c
mov dword [ebp - 0x1c], 0x888adae8
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x100358e7
mov dword [ebp - 0x5c], 8
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 2
jge 0x100358e2
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x7c8]
call fcn.100126e6
mov dword [eax], 0xfa20bd03
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 2
jl 0x100358c3
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x100358b3
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035904
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
xor eax, eax
dec dword [ebp - 0x14]
push 1
pop ecx
jns 0x100358a4
or eax, 0xffffffff
lea ecx, [ebp - 0x7c8]
mov dword [ebp - 4], eax
call fcn.100126ca
or eax, 0xffffffff
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x44], 0xacd79536
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x1b
jg 0x10035988
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035976
push 0x1439
push 0x1a8e
push 0x52d
push 0x24f1
push 0x1c59
push 0x134c
push 0x150e
push 0x90b
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x1b
push 0
pop eax
jle 0x10035935
xor ecx, ecx
inc ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], eax
jmp 0x100359a0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035993
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50c], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x100359cf
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100359cc
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x1c
jle 0x100359b5
mov dword [ebp - 0x3c], 0x176b0f73
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100359f5
push eax
push 0x1b
push 0x133
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035a0d
push eax
push 0x1762
push eax
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
xor eax, eax
mov dword [ebp - 0x1c], 0x398
lea ecx, [ebp - 0xe18]
mov dword [ebp - 0x24], 0x7f5ed9a9
mov dword [ebp - 0x5c], eax
push 3
call fcn.10012648
push 2
pop esi
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], eax
jmp 0x10035a4c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe18]
call fcn.100126e6
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10035a38
mov eax, dword [ebp - 0x1c]
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x10035aa3
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035aa0
push eax
push 0x1201
push 0x26b3
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], esi
jle 0x10035a7e
or eax, 0xffffffff
lea ecx, [ebp - 0xe18]
mov dword [ebp - 4], eax
call fcn.100126ca
mov dword [ebp - 0x18], 7
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0xf4ed832c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10035af4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc54], 0x30467731
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10035adb
xor eax, eax
push 6
pop edx
cmp dword [ebp - 0x18], eax
jne 0x10035b43
mov eax, dword [ebp - 0xc50]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp edx, eax
sbb eax, eax
neg eax
cmp eax, 0xf71d6917
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x18]
cmp eax, 0xfff9
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
xor eax, eax
inc eax
cmp ecx, eax
jae 0x10035b46
xor eax, eax
jmp 0x10035b46
xor eax, eax
inc eax
xor ecx, ecx
mov edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jne 0x10035b75
xor eax, eax
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x24]
jmp 0x10035bbe
xor eax, eax
mov dword [ebp - 0x24], 0x760e0689
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10035b9f
push eax
push 0x1201
push 0x26b3
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x10035bbc
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x24]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x10035baa
xor eax, eax
jmp 0x10035bc1
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x28], eax
xor ebx, ebx
mov dword [ebp - 0x58], ecx
inc ebx
mov dword [ebp - 0x14], 0xc3dc99cd
mov dword [ebp - 0x1c], 0x60813c27
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], 0xa14a9c79
push 5
pop edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], ecx
push 6
pop edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], 0xceb03922
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0x6f18880a
mov dword [ebp - 0x3c], edx
push 7
pop ecx
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov dword [ebp - 0x3c], 0xbdacabd1
mov dword [ebp - 0x3c], 0xc4505af7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x8bbd8818
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x58]
cmp eax, 0x461e3ff1
mov eax, ebx
setne cl
sub eax, ecx
je 0x10035c52
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 0x4df7b146
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10035ddb
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x54], 0x3b06d9e9
mov dword [ebp - 0x3c], ebx
push 5
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x5c], 0x85f402be
mov dword [ebp - 0x14], eax
jmp 0x10035ca9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x718], 0x4f57b17b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035c98
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setne dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jle 0x10035ce1
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x68], eax
je 0x10035ce3
mov edx, ebx
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, dword [ebp - 0x1c]
jne 0x10035cfb
mov ecx, ebx
cmp dword [ebp - 0x5c], eax
jne 0x10035cfd
mov ecx, eax
dec dword [ebp - 0x718]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x588d
setge al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x10035dd3
mov dword [ebp - 0x44], 0x792179b1
lea ecx, [ebp - 0x9fc]
push esi
call fcn.10012648
xor eax, eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10035da1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9fc]
call fcn.100126e6
mov dword [eax], 0x2e3979d7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035d83
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10035dba
push ebx
lea ecx, [ebp - 0x9fc]
call fcn.100126e6
xor ecx, ecx
cmp dword [eax], ecx
mov eax, ecx
je 0x10035dbc
mov eax, ebx
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x9fc]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.100126ca
dec dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xffffffe9
je 0x10035d5f
jmp 0x10035df8
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10035dfa
push 0x13f
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
xor eax, eax
dec dword [ebp - 0x2c]
push 0xfffffffffffffffa
mov dword [ebp - 0x2c], 0x25b9b55b
mov dword [ebp - 0x2c], 0x18
pop edi
jmp 0x10035e9c
mov dword [ebp - 0x38], 0xb2b5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xe4b0ad8e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10035e42
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1040], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10035e2d
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035e57
push 0xf63
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x82d5
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
push ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x103c], 0xef51ae9a
dec dword [ebp - 0x2c]
pop eax
cmp dword [ebp - 0x2c], 0xfffffff6
je 0x10035e13
mov dword [ebp - 0x4c], ebx
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x2c], 0xc588e1b6
mov dword [ebp - 0x24], 0x934215e1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], 0xbec0351
push esi
call fcn.10012648
mov dword [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x34], 0xed562b99
mov dword [ebp - 0x14], eax
jmp 0x10035f00
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7e0]
call fcn.100126e6
mov dword [eax], 0xd39d9827
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035ee9
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setne dl
neg edx
mov dword [ebp - 0x38], edx
je 0x10035f1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setle dl
imul eax, edx, 0xffff
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10035f40
mov edi, ebx
cmp dword [ebp - 0x38], eax
jne 0x10035f42
mov edi, eax
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x24], eax
push ebx
call fcn.100126e6
mov edx, dword [ebp - 0x24]
mov esi, eax
mov ecx, dword [ebp - 0x2c]
xor eax, eax
cmp edx, ecx
setg al
xor edx, edx
cmp eax, edi
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, 0xfffffffa
setl cl
xor eax, eax
mov dword [esi], ecx
cmp dword [ebp - 0x2c], eax
je 0x10035f85
cmp dword [ebp - 0x44], eax
je 0x10035f85
mov eax, ebx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x7e0]
or edi, 0xffffffff
mov dword [ebp - 4], edi
call fcn.100126ca
xor eax, eax
mov dword [ebp - 0x24], 0x83428364
mov dword [ebp - 0x14], eax
jmp 0x10035fb5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0x6a53
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10035fa7
dec dword [ebp - 0x80]
jne 0x10035fd2
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
xor eax, eax
cmp dword [ebp - 0x80], eax
je 0x10035fd2
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x80]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x80]
setne cl
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x80]
setle dl
imul eax, edx
imul eax, eax, 0xffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x80], eax
je 0x1003601b
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10036025
push eax
call dword [sym.imp.USER32.dll_CharNextW]
jmp 0x10036025
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0x4592404e
mov dword [ebp - 0x2c], 4
lea ecx, [ebp - 0x9d8]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], 0x3f467215
push ebx
call fcn.10012648
push 5
pop esi
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x54], 0x312349
mov dword [ebp - 0x44], 0x2d584125
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003607d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9d8]
call fcn.100126e6
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10036063
xor eax, eax
mov dword [ebp - 0x2c], 9
cmp dword [ebp - 0x2c], 0xffffffef
jl 0x10036238
jmp 0x10036092
xor eax, eax
mov dword [ebp - 0x24], 0x3d4e
inc dword [ebp - 0x18]
mov dword [ebp - 0x40], 0xffffffe3
cmp dword [ebp - 0x40], 0x10
jge 0x1003622b
jmp 0x100360b1
xor eax, eax
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x62c]
push 3
call fcn.10012648
push 6
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x54], 0xfffffffe
mov dword [ebp - 0x14], eax
jmp 0x100360e8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x62c]
call fcn.100126e6
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100360d5
mov dword [ebp - 0x18], 0xfffffffd
cmp dword [ebp - 0x18], 0x29
jge 0x10036194
mov dword [ebp - 0x44], 0x1df8
push 7
pop eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10036123
cmp dword [ebp - 0x64], eax
jne 0x10036191
mov eax, dword [ebp - 0x24]
jmp 0x10036181
push ebx
lea ecx, [ebp - 0x62c]
call fcn.100126e6
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, 4
mov esi, eax
mov ecx, dword [ebp - 0x2c]
setne dl
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [ebp - 0x1c]
mov edx, 0x26874be7
setl bl
xor eax, eax
cmp ebx, ecx
setne al
xor ecx, ecx
cmp eax, 0xfffffffa
mov eax, dword [ebp - 0x24]
setne cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xffff
setne al
add eax, dword [ebp - 0x1c]
sub eax, dword [esi]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x29
jl 0x100360ff
push 5
pop esi
mov dword [ebp - 0x18], 0x18
jmp 0x10036204
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], 0x52ee8b72
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x2c]
neg eax
push ebx
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
call fcn.100126e6
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x9d8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
xor eax, eax
push eax
call fcn.100126e6
xor edx, edx
mov dword [eax], 0xfffffffa
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x62c]
jne 0x1003619d
push 5
pop eax
mov byte [ebp - 4], al
call fcn.100126ca
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x10
push 5
pop esi
jl 0x100360af
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffef
jge 0x10036090
lea ecx, [ebp - 0x9d8]
mov dword [ebp - 4], edi
call fcn.100126ca
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10036264
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x51c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10036250
xor eax, eax
mov dword [ebp - 0x30], 0xc5604491
mov dword [ebp - 0x2c], 0x29219798
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10036294
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4], 0x847d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003627b
xor eax, eax
cmp dword [ebp - 0xf4], eax
je 0x100364a4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0x31fc5313
mov dword [ebp - 0x20], 0xffffffee
cmp dword [ebp - 0x20], 0xffffffed
jl 0x100363dc
mov dword [ebp - 0x5c], 0x4ab274bf
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x24], 0x80254f8d
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x44], 0x5b06
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xf0]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xf4]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x5c]
setg cl
sub ecx, eax
je 0x10036315
xor eax, eax
cmp dword [ebp - 0xf4], eax
je 0x10036317
mov eax, ebx
jmp 0x10036317
xor eax, eax
xor edx, edx
cmp eax, 0xf860
mov eax, dword [ebp - 0xf0]
setle dl
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
xor edx, edx
add ecx, 2
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xf4]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
imul eax, edx
test eax, eax
jne 0x1003635e
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x10036360
mov ecx, ebx
mov eax, dword [ebp - 0x5c]
add eax, ecx
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x10036376
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x10036380
mov ecx, ebx
cmp dword [ebp - 0x20], eax
je 0x10036380
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xf4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x5c]
push 1
setge bl
xor ecx, ecx
cmp eax, ebx
pop ebx
setl cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffed
jge 0x100362bb
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10036498
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, 0xb639
jle 0x10036405
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10036405
mov ecx, eax
cmp dword [ebp - 0xf4], eax
je 0x10036407
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xf4]
imul eax, ecx
test eax, eax
je 0x10036426
xor eax, eax
cmp dword [ebp - 0xf4], eax
je 0x10036428
mov esi, ebx
jmp 0x1003642a
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x20]
cmp esi, eax
setl cl
xor eax, eax
cmp ecx, edx
setge al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0xf4]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x14]
sub esi, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
imul edx, esi
mov eax, dword [ebp + eax*4 - 0xf4]
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x14]
jge 0x10036492
cmp dword [ebp - 0xf4], eax
je 0x10036492
mov eax, ebx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x100363e4
jmp 0x100364ca
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100364ca
push eax
push 0x25ff
push 0x2247
push eax
push 0xc8d
push 0x2065
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 9
pop esi
mov dword [ebp - 0x2c], esi
jmp 0x100364f3
mov dword [ebp - 0x30], 0xfffffff8
jmp 0x100364ea
mov dword [ebp - 0x24], 0xfffffffc
inc dword [ebp - 0x24]
jne 0x100364f0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x11
jge 0x100364db
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff3
je 0x100364d2
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x51c], eax
push 2
call fcn.10012648
push 7
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x14], 0xbdba76aa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10036542
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7f8]
call fcn.100126e6
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10036527
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x100365af
mov dword [ebp - 0x1c], 0x888adae8
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1003658d
mov dword [ebp - 0x5c], 8
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 2
jge 0x10036588
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x7f8]
call fcn.100126e6
mov dword [eax], 0xfa20bd03
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 2
jl 0x10036569
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x10036559
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100365aa
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x1003654a
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 4], edi
call fcn.100126ca
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov edi, 0x6b471dfd
cmp dword [ebp - 0x4c], 0x1c
push 0xfffffffffffffff7
pop ecx
jg 0x10036999
jmp 0x100365de
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x44], 0xacd79536
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x1b
jg 0x1003664a
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10036635
push 0x1439
push 0x1a8e
push 0x52d
push 0x24f1
push 0x1c59
push 0x134c
push 0x150e
push 0x90b
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Arc]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x1b
push 0
pop eax
jle 0x100365f4
or edx, 0xffffffff
mov dword [ebp - 0x28], 0xb642c70b
mov dword [ebp - 0x24], 0x2e96673e
mov dword [ebp - 0x44], 0xdf7e4414
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10036682
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x544], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003666a
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x100366a2
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x544], 0x43d8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1003668a
xor eax, eax
cmp dword [ebp - 0x544], eax
je 0x100366c3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub eax, 0x42c514a7
cmp eax, dword [ebp - 0x53c]
jle 0x100366c1
mov eax, ebx
jmp 0x100366c3
xor eax, eax
cmp eax, edx
push 0xfffffffffffffffb
sbb eax, eax
neg eax
add eax, dword [ebp - 0x544]
mov edx, dword [ebp - 0x28]
pop ecx
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
sub edx, eax
mov eax, dword [ebp - 0x53c]
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0xd], al
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x28], 0xffffffed
cmp dword [ebp - 0x28], 0x1d
jge 0x1003681d
push 0xfffffffffffffffb
or ecx, 0xffffffff
pop edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10036744
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd00], 0x79f6a715
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003672c
xor eax, eax
mov dword [ebp - 0x5c], 4
cmp dword [ebp - 0x5c], 0xe
jle 0x100367fd
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0xb9dbea52
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10036771
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x15
jl 0x100367ea
mov dword [ebp - 0x14], 2
lea ecx, [ebp - 0xdbc]
push 3
call fcn.10012648
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x14], eax
jmp 0x100367b3
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdbc]
call fcn.100126e6
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003679c
mov dword [ebp - 0x14], 0x1a
jmp 0x100367c8
inc dword [ebp - 0x24]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xb
jl 0x100367c2
or eax, 0xffffffff
lea ecx, [ebp - 0xdbc]
mov dword [ebp - 4], eax
call fcn.100126ca
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x15
jge 0x1003677a
xor eax, eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xe
jg 0x10036755
push 0xfffffffffffffffb
or ecx, 0xffffffff
pop edx
mov dword [ebp - 0x14], eax
jmp 0x1003680b
mov dword [ebp - 0x54], ebx
inc dword [ebp - 0x54]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jg 0x10036802
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1d
jl 0x1003671b
cmp byte [ebp - 0xd], 0
je 0x10036989
mov dword [ebp - 0x3c], eax
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0xe60f
push 0xfffffffffffffff7
mov dword [ebp - 0x3c], ebx
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xef6b8f3d
mov dword [ebp - 0x3c], ecx
push 0xfffffffffffffff9
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xc84]
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], 0xa61eefb6
push ebx
call fcn.10012648
mov dword [ebp - 4], 9
lea ecx, [ebp - 0xe00]
mov dword [ebp - 0x3c], 0xb263d188
or eax, 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x51af7f3
mov dword [ebp - 0x3c], 0x14f4e797
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x56e74e80
push 3
call fcn.10012648
push 2
lea ecx, [ebp - 0xc6c]
mov byte [ebp - 4], 0xa
call fcn.10012648
mov byte [ebp - 4], 0xb
mov eax, 0x403132d6
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], eax
xor eax, eax
mov dword [ebp - 0x54], 0xfffffff8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10036909
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc84]
call fcn.100126e6
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100368ef
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10036930
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe00]
call fcn.100126e6
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10036912
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10036946
push dword [ebp - 0x20]
call fcn.100126e6
mov dword [eax], 0xef7d2668
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
lea ecx, [ebp - 0xc6c]
jl 0x10036935
dec dword [ebp - 0x24]
dec dword [ebp - 0x54]
call fcn.100126ca
lea ecx, [ebp - 0xe00]
call fcn.100126ca
or eax, 0xffffffff
lea ecx, [ebp - 0xc84]
mov dword [ebp - 4], eax
call fcn.100126ca
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x1c
jle 0x100365dc
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x38], 0xddcef989
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xc9c]
push ebx
call fcn.10012648
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0xab0]
mov dword [ebp - 0x44], 0xa9683648
mov dword [ebp - 0x68], 0xb0ae28de
mov dword [ebp - 0x54], 0xfffffff6
push 4
call fcn.10012648
push 6
mov byte [ebp - 4], 0xd
pop eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10036a11
push dword [ebp - 0x30]
lea ecx, [ebp - 0xc9c]
call fcn.100126e6
mov dword [eax], 0x7ace
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x100369f3
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10036a33
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe4c], 0x3d8c5378
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10036a1a
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10036a5b
push dword [ebp - 0x30]
lea ecx, [ebp - 0xab0]
call fcn.100126e6
mov dword [eax], 0xa907865e
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10036a3c
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 3
jge 0x10036a7a
push 5
pop ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd64], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x10036a67
mov eax, dword [ebp - 0x54]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10036a8b
cmp dword [ebp - 0x1c], eax
je 0x10036a8b
mov eax, ebx
cmp eax, dword [ebp - 0xd60]
jg 0x10036a96
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xab0]
push ebx
call fcn.100126e6
mov edx, dword [eax]
lea ecx, [edx - 1]
mov dword [eax], ecx
xor eax, eax
cmp edx, ebx
jl 0x10036ab9
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x10036abb
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0xd60], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xe48]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0xe48], edx
test edx, edx
je 0x10036af9
cmp dword [ebp - 0x64], eax
je 0x10036af9
mov eax, ebx
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0xab0]
call fcn.100126ca
or eax, 0xffffffff
lea ecx, [ebp - 0xc9c]
mov dword [ebp - 4], eax
call fcn.100126ca
xor eax, eax
mov dword [ebp - 0x3c], 0x176b0f73
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036b39
push eax
push 0x1b
push 0x133
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036b51
push eax
push 0x1762
push eax
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
xor eax, eax
mov dword [ebp - 0x1c], 0x398
lea ecx, [ebp - 0xbe8]
mov dword [ebp - 0x24], 0x7f5ed9a9
mov dword [ebp - 0x4c], eax
push 3
call fcn.10012648
xor eax, eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x14], eax
jmp 0x10036b91
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbe8]
call fcn.100126e6
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10036b7d
mov eax, dword [ebp - 0x1c]
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x10036bec
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036be9
push eax
push 0x1201
push 0x26b3
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 2
jle 0x10036bc3
or eax, 0xffffffff
lea ecx, [ebp - 0xbe8]
mov dword [ebp - 4], eax
call fcn.100126ca
push 7
pop eax
mov dword [ebp - 0x18], eax
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0xf4ed832c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10036c3d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcb4], 0x30467731
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10036c24
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10036c8b
mov eax, dword [ebp - 0xcb0]
neg eax
push 6
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
neg eax
pop ecx
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0xf71d6917
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x18]
cmp eax, 0xfff9
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
cmp ecx, ebx
jae 0x10036c8b
xor eax, eax
mov edx, eax
jmp 0x10036c8d
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jne 0x10036cba
xor eax, eax
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x24]
jmp 0x10036d01
xor eax, eax
mov dword [ebp - 0x24], 0x760e0689
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036ce8
push eax
push 0x1201
push 0x26b3
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x10036d01
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x24]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x10036cf3
mov dword [ebp - 0x18], 0x5121ac48
lea ecx, [ebp - 0x59c]
mov dword [ebp - 0x1c], 0x83674579
push 4
call fcn.10012648
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10036d50
push dword [ebp - 0x14]
lea ecx, [ebp - 0x59c]
call fcn.100126e6
mov dword [eax], 0x7bdd4840
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10036d31
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036d71
push 0x1a78
push eax
push 0x1065
push eax
push 0x4d9
push eax
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x59c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
push 3
pop esi
push esi
call fcn.100126e6
mov ecx, dword [ebp - 0x18]
mov edx, 0xc57f39ce
sub edx, ecx
xor ecx, ecx
add edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x18]
push esi
cmp edx, dword [eax]
setge cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x59c]
call fcn.100126e6
mov edx, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
cmp ecx, edx
push esi
setl bl
lea ecx, [ebp - 0x59c]
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
call fcn.100126e6
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
or eax, 0xffffffff
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x59c]
mov dword [ebp - 4], eax
call fcn.100126ca
push 0xfffffffffffffff7
pop eax
xor ebx, ebx
mov dword [ebp - 0x1c], esi
inc ebx
mov dword [ebp - 0x38], 0xddcef989
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xccc]
push ebx
call fcn.10012648
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x44], 0xa9683648
mov dword [ebp - 0x68], 0xb0ae28de
mov dword [ebp - 0x54], 0xfffffff6
push 4
call fcn.10012648
push 6
mov byte [ebp - 4], 0x11
pop eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10036e74
push dword [ebp - 0x30]
lea ecx, [ebp - 0xccc]
call fcn.100126e6
mov dword [eax], 0x7ace
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x10036e56
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10036e96
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xf6c], 0x3d8c5378
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10036e7d
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10036ebe
push dword [ebp - 0x30]
lea ecx, [ebp - 0x810]
call fcn.100126e6
mov dword [eax], 0xa907865e
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10036e9f
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jge 0x10036edb
push 5
pop ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd8c], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10036ec9
mov eax, dword [ebp - 0x54]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10036eec
cmp dword [ebp - 0x1c], eax
je 0x10036eec
mov eax, ebx
cmp eax, dword [ebp - 0xd88]
jg 0x10036ef7
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x810]
push ebx
call fcn.100126e6
mov edx, dword [eax]
lea ecx, [edx - 1]
mov dword [eax], ecx
xor eax, eax
cmp edx, ebx
jl 0x10036f1a
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x10036f1c
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0xd88], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xf68]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0xf68], edx
test edx, edx
je 0x10036f5a
cmp dword [ebp - 0x64], eax
je 0x10036f5a
mov eax, ebx
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x810]
call fcn.100126ca
or eax, 0xffffffff
lea ecx, [ebp - 0xccc]
mov dword [ebp - 4], eax
call fcn.100126ca
xor eax, eax
mov dword [ebp - 0x3c], 0x176b0f73
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036f9a
push eax
push 0x1b
push 0x133
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036fb0
push eax
push 0x1762
push eax
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
mov dword [ebp - 0x1c], 0xe60f951f
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0x24], 0xfffffffc
push 4
call fcn.10012648
push 2
lea ecx, [ebp - 0x9f0]
mov dword [ebp - 4], 0x12
call fcn.10012648
mov byte [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x2c], 0x2aff6358
mov dword [ebp - 0x4c], 0x6d0c11e0
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10037013
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xd9c], 0xd203
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10036ffb
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1003703b
push dword [ebp - 0x20]
lea ecx, [ebp - 0x6a4]
call fcn.100126e6
mov dword [eax], 0x14f4e797
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1003701c
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10037057
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9f0]
call fcn.100126e6
mov dword [eax], 0x6cc9ca31
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10037040
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0xd94]
push ebx
add esi, 0x1af7
call fcn.100126e6
xor ecx, ecx
push ebx
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
cmp eax, esi
mov esi, edi
setge cl
sub esi, ecx
lea ecx, [ebp - 0x9f0]
call fcn.100126e6
mov dword [eax], esi
cmp esi, 0x74e8
jne 0x100370a8
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x100370aa
mov eax, ebx
mov ecx, dword [ebp - 0xd9c]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne bl
xor edx, edx
cmp ecx, eax
setle dl
xor eax, eax
add ebx, edx
xor esi, esi
mov dword [ebp - 0x4c], ebx
inc esi
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x33
jg 0x1003714d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10037107
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100370ef
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jg 0x10037148
mov dword [ebp - 0x38], 0xb7c39c9d
lea ecx, [ebp - 0x6a4]
push dword [ebp - 0x2c]
call fcn.100126e6
mov ecx, dword [ebp - 0x38]
mov eax, dword [eax]
inc dword [ebp - 0x38]
cmp ecx, eax
jle 0x10037135
mov eax, esi
jmp 0x10037137
xor eax, eax
mov dword [ebp - 0x58c], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x10037110
xor eax, eax
inc dword [ebp - 0x4c]
jmp 0x100370e1
lea ecx, [ebp - 0x9f0]
call fcn.100126ca
or eax, 0xffffffff
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 4], eax
call fcn.100126ca
push 3
lea ecx, [ebp - 0x174]
call fcn.10012648
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x58], 0x3638ecf5
mov dword [ebp - 0x24], 0x66c4779d
mov dword [ebp - 0x38], 0xec1f
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], eax
jmp 0x100371ad
push dword [ebp - 0x14]
call fcn.100126e6
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
lea ecx, [ebp - 0x174]
jl 0x1003719c
push esi
call fcn.100126e6
push 2
pop edi
push edi
mov eax, dword [eax]
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x58], eax
call fcn.100126e6
xor ebx, ebx
cmp dword [eax], ebx
je 0x1003724f
push esi
lea ecx, [ebp - 0x174]
call fcn.100126e6
push esi
lea ecx, [ebp - 0x174]
call fcn.100126e6
push esi
lea ecx, [ebp - 0x174]
call fcn.100126e6
push esi
lea ecx, [ebp - 0x174]
call fcn.100126e6
push ebx
lea ecx, [ebp - 0x174]
call fcn.100126e6
inc ebx
lea ecx, [ebp - 0x174]
push ebx
call fcn.100126e6
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x174]
mov eax, dword [ebp - 0x38]
push edi
call fcn.100126e6
cmp dword [eax], ebx
jne 0x1003723f
xor eax, eax
cmp dword [ebp - 0x58], eax
je 0x10037241
mov eax, ebx
imul eax, eax, 0xfff9
test eax, eax
je 0x10037252
mov esi, ebx
jmp 0x10037256
xor ebx, ebx
inc ebx
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x174]
call fcn.100126e6
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp esi, ecx
setl dl
add edx, dword [eax]
sub edx, dword [ebp - 0x38]
sub edx, 0x2fcc92fa
jne 0x10037282
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x38], eax
je 0x10037284
mov edx, ebx
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp eax, edx
setne cl
or eax, 0xffffffff
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], eax
call fcn.100126ca
mov eax, 0x847dfa86
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], eax
mov dword [ebp - 0x774], eax
xor eax, eax
mov dword [ebp - 0x4c], 0xa2cb51db
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100372d9
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
xor eax, eax
push 3
pop esi
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x4c], eax
jl 0x1003732d
mov dword [ebp - 0x24], 0xb9503153
push 5
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0x26f3f17e
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x780]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x780]
add eax, 0x3e58
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, 0x21a35ca4
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x4c]
jns 0x100372e4
xor eax, eax
mov dword [ebp - 0x1c], 0x398
or ecx, 0xffffffff
mov dword [ebp - 0x18], 0x4f833fcb
mov dword [ebp - 0x4c], 0xb302aff6
mov dword [ebp - 0x3c], 0xfe0c2378
mov dword [ebp - 0x24], 0xc63b882
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003736f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003735b
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x10037408
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xac]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0xac]
mov eax, dword [ebp - 0xac]
add edx, 0xffff5cea
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0x18], eax
jl 0x100373c5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xac]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
mov edx, dword [ebp + eax*4 - 0xac]
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edx
mov ecx, 0xb8f3d421
setle al
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x18]
pop ecx
jns 0x1003737b
mov dword [ebp - 0x4c], 0xfffffff8
cmp dword [ebp - 0x4c], 0xffffffeb
jg 0x10037514
mov dword [ebp - 0x38], 0x219909d0
lea ecx, [ebp - 0x55c]
push 4
call fcn.10012648
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x44], 0xc94681c3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10037465
push dword [ebp - 0x14]
lea ecx, [ebp - 0x55c]
call fcn.100126e6
mov dword [eax], 0xd0fe1f23
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10037446
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037477
mov dword [ebp - 0x24], 0x7f5ed9a9
lea ecx, [ebp - 0x828]
push edi
call fcn.10012648
mov dword [ebp - 4], 0x16
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3b8], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10037571
push dword [ebp - 0x14]
lea ecx, [ebp - 0x828]
call fcn.100126e6
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10037553
mov dword [ebp - 0x3c4], eax
jmp 0x100375af