Function at 0x100374cb
Capabilities:
Get file attributes

Disassembly:
mov eax, 0x100712c0
call fcn.100700b0
sub esp, 0x154
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x18], 8
push 4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x39], dl
mov dword [ebp - 0x34], esi
call fcn.10017d38
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], 0x588c
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x10], ebx
jmp 0x1003751f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xfcb50bf3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1003750f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x1a
jg 0x100376b2
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x20], 0xffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], 0xe1f230b5
mov dword [ebp - 0x30], 0xe879096a
mov dword [ebp - 0x38], 0x81f5
push 2
call fcn.10017d38
xor edx, edx
inc edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x10], ebx
jmp 0x10037587
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10037574
mov eax, dword [ebp - 0x18]
mov ecx, 0x534d2afb
mov eax, dword [ebp - 0x6c]
sub ecx, dword [esi + 4]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
je 0x100375ba
mov eax, edx
cmp dword [ebp - 0x20], ebx
jne 0x100375bc
mov eax, ebx
mov dword [esi + 8], eax
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
imul ecx, edx, 9
xor edx, edx
cmp eax, ecx
setge dl
cmp edx, 0x81c37f5e
ja 0x1003760d
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037694
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x10037694
push 3
lea ecx, [ebp - 0x10c]
call fcn.10017d38
mov dword [ebp - 0x10], ebx
jmp 0x10037632
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x23f2b636
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003761f
xor edi, edi
mov dword [ebp - 0x1c], ebx
inc edi
jmp 0x10037684
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
sete al
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
neg edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x10037640
lea ecx, [ebp - 0x10c]
call fcn.10017dba
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], bl
call fcn.10017dba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1a
jle 0x1003753d
mov esi, dword [ebp - 0x34]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.10017dba
mov edi, dword [ebp + 8]
mov eax, dword [0x100778cc]
mov dword [ebp - 0x28], 0xad6f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x38], eax
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
je 0x100376ef
push 0x24f6
call dword [sym.imp.GDI32.dll_GetBkColor]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037708
push 0x2d9
push 0x177
call dword [sym.imp.GDI32.dll_SetTextAlign]
cmp byte [ebp - 0x39], 0
je 0x100378d7
xor eax, eax
inc eax
cmp dword [ebp - 0x38], eax
jne 0x100378d7
mov dword [ebp - 0x1c], 5
lea ecx, [ebp - 0xb8]
push 2
call fcn.10017d38
push 2
pop edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x2c], 0x5dce
mov dword [ebp - 0x10], ebx
jmp 0x10037754
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10037744
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037779
push ebx
push ebx
push 0xb11
push 0x1bfa
push 0x1fc7
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jge 0x10037845
xor esi, esi
mov dword [ebp - 0x18], 0xffffffff
inc esi
mov dword [ebp - 0x20], 0x2ba75a59
push esi
lea ecx, [ebp - 0xf4]
call fcn.10017d38
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x100377be
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100377ab
mov eax, dword [ebp - 0xb8]
mov dword [eax], 0xb72fd491
mov dword [ebp - 0x18], ebx
jmp 0x10037824
mov dword [ebp - 0x10], ebx
jmp 0x100377e3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100377d9
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0xf4]
neg edx
push 1
sbb edx, edx
add edx, 0x319c23b0
sub ecx, edx
neg ecx
pop edx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jne 0x100377d4
lea ecx, [ebp - 0xf4]
call fcn.10017dba
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10037786
mov esi, dword [ebp - 0x34]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.10017dba
push 2
lea ecx, [ebp - 0xe8]
mov dword [edi + 8], 4
call fcn.10017d38
mov dword [ebp - 0x28], 0x1bd97a8
xor eax, eax
mov dword [ebp - 0x28], 0x35c5735e
inc eax
mov dword [ebp - 0x28], 0x92f644ac
mov dword [ebp - 0x28], 0x55459eed
mov dword [ebp - 0x28], eax
push 4
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x62d7bc35
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], ebx
jmp 0x100378b6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100378a6
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xe8]
mov dword [eax + 4], ebx
call fcn.10017dba
mov dword [edi + 0xc], 0x100778cc
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x2c], 0x661fbc9f
push 3
call fcn.10017d38
xor edx, edx
mov dword [ebp - 0x28], 0x7772
mov dword [ebp - 0x10], ebx
inc edx
cmp dword [ebp - 0x10], 3
jge 0x10037912
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
jmp 0x100378fb
mov dword [ebp - 0x18], ebx
jmp 0x1003799b
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 0xb79ae4f7
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
neg eax
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x10037995
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037982
push ebx
push 0x695
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd0]
cmp dword [eax + ecx*4], ebx
jne 0x10037995
dec dword [ebp - 0x10]
jns 0x1003796d
dec dword [ebp - 0x18]
push 1
pop edx
cmp dword [ebp - 0x18], 0xfffffff5
jne 0x1003791a
lea ecx, [ebp - 0xd0]
call fcn.10017dba
cmp esi, dword [ebp - 0x38]
jge 0x1003824f
mov edi, 0x100778d0
mov dword [ebp - 0x30], edi
test esi, esi
jle 0x10037d87
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x100379e3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100379d5
push 3
pop esi
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x10037bc5
xor edi, edi
inc edi
push 4
lea ecx, [ebp - 0x54]
call fcn.10017d38
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], ebx
jmp 0x10037a17
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10037a0d
mov dword [ebp - 0x18], ebx
jmp 0x10037a32
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0x8358bd4d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037a22
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], ebx
jl 0x10037bb1
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x18], 0x7b30498d
mov dword [ebp - 0x2c], 0xd090d790
mov dword [ebp - 0x10], ebx
cmp dword [eax], ebx
je 0x10037b0b
mov dword [ebp - 0x2c], 0x5da2
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x2c], eax
setle cl
xor eax, eax
cmp ecx, edx
setne al
imul eax, eax, 0xc9fe
test eax, eax
je 0x10037aa7
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp dword [eax + 4], edx
mov eax, dword [ebp - 0x70]
setl cl
xor edx, edx
cmp ecx, 0xfffffff7
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edx, eax
mov eax, dword [ebp - 0x54]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete cl
mov dword [ebp + eax*4 - 0x7c], ecx
inc dword [ebp - 0x10]
jmp 0x10037ba5
mov dword [ebp - 0x20], 0x83be7680
mov dword [ebp - 0x18], ebx
jmp 0x10037b3e
mov dword [ebp - 0x10], ebx
jmp 0x10037b36
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037b33
push ebx
push ebx
push ebx
push 0x26fd
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x10037b1c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10037b17
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x10037ba5
mov esi, dword [ebp - 0x54]
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], 0xd2926a09
mov ecx, ebx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x44]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp eax, dword [esi + 4]
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, ebx
setle cl
add ecx, edx
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10037b51
push 3
xor ebx, ebx
pop esi
dec dword [ebp - 0x44]
jns 0x10037a44
xor edi, edi
inc edi
lea ecx, [ebp - 0x54]
call fcn.10017dba
dec dword [ebp - 0x1c]
jns 0x100379fb
mov edi, dword [ebp - 0x30]
mov eax, dword [edi]
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x2c], 0x4ab2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], ebx
jmp 0x10037bee
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x14c], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10037bdd
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10037c18
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037c13
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_ExtCreatePen]
dec dword [ebp - 0x18]
jns 0x10037bff
mov dword [ebp - 0x18], ebx
jmp 0x10037c30
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037c2d
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x13
jle 0x10037c1d
mov esi, dword [edi + 4]
xor ecx, ecx
mov dword [ebp - 0x18], 0xde0b
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x2c], 0x456b8642
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037c6a
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x18], ebx
je 0x10037c9d
mov dword [ebp - 0x20], 0xb999fb0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
je 0x10037c93
cmp dword [ebp - 0x20], ebx
je 0x10037c93
xor eax, eax
inc eax
jmp 0x10037c95
mov eax, ebx
mov dword [ebp - 0x1c], eax
jmp 0x10037d6e
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x1c], 0xfffffff3
jmp 0x10037d64
mov dword [ebp - 0x30], 0xfe24
mov dword [ebp - 0x10], ebx
jmp 0x10037cc9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x88], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10037cbc
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x88], ebx
je 0x10037ce4
mov edx, ecx
cmp dword [ebp - 0x24], ebx
jne 0x10037ce6
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x88]
cmp ecx, eax
push 1
sbb ecx, ecx
neg ecx
cmp edx, 0xfffb
sbb eax, eax
xor edx, edx
add eax, 5
add ecx, eax
mov eax, dword [ebp - 0x80]
cmp ecx, eax
setl dl
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x88]
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x7e294b5
setne al
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
sub eax, ecx
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x20]
inc dword [ebp - 0x1c]
pop ecx
cmp dword [ebp - 0x1c], 7
je 0x10037cb0
add edi, 8
test esi, esi
jne 0x10037d78
add edi, 8
add edi, dword [ebp - 0x28]
dec dword [ebp - 0x34]
mov dword [ebp - 0x30], edi
jne 0x100379c9
mov dword [ebp - 0x10], ebx
jmp 0x10037d9d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15c], 0x5baf43b7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10037d8c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037db3
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037dc8
push ebx
push 0xdf6
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp - 0x24], 0x4e62
cmp dword [ebp - 0x24], 0x4f5e
jle 0x10037e3d
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov edi, ebx
mov eax, esi
cdq
idiv edi
mov eax, ecx
lea ecx, [ebp - 0x140]
sub eax, edx
cdq
push edx
push eax
call fcn.1000a9f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10037e02
mov eax, dword [eax]
push eax
call fcn.1005968a
pop ecx
xor eax, eax
lea ecx, [ebp - 0x140]
push ebx
inc eax
push eax
call fcn.10009f8d
mov ecx, dword [ebp - 0x34]
inc edi
cmp edi, 0x2a3b
jl 0x10037de1
inc esi
cmp esi, 0x6cb
jl 0x10037ddf
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x66be
jl 0x10037ddd
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x24], 0x4cf8
mov eax, dword [edi]
mov dword [ebp - 0x30], eax
jge 0x10037e56
push 0x10008640
call fcn.1005968a
pop ecx
xor eax, eax
lea ecx, [ebp - 0xdc]
inc eax
or esi, 0xffffffff
push eax
mov dword [ebp - 4], esi
call fcn.10017d38
mov dword [ebp - 0x1c], esi
xor edx, edx
mov dword [ebp - 0x20], 0x1e0bec03
inc edx
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], 0x69be541
mov dword [ebp - 0x24], 0xf21c
mov dword [ebp - 0x2c], 0x5327
mov dword [ebp - 0x24], 0x30b9
mov dword [ebp - 0x10], ebx
jmp 0x10037eb6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x1713b910
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10037ea3
mov dword [ebp - 0x1c], ebx
jmp 0x10037f34
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037edd
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
cmp dword [eax + ecx*4], ebx
je 0x10037f27
inc dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
add edx, 0x3923
cmp eax, 0xca228a9
setg cl
xor eax, eax
cmp edx, ecx
setle al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10037ec0
lea ecx, [ebp - 0xdc]
call fcn.10017dba
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], 0xc789
inc eax
push 2
mov dword [ebp - 0x28], 0x7a4a12b5
pop esi
mov dword [ebp - 0x28], 0xfd4914d2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0x19ac196a
push esi
call fcn.10017d38
push esi
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 5
call fcn.10017d38
mov dword [ebp - 0x18], ebx
jmp 0x10037fa2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037f93
mov dword [ebp - 0x18], ebx
jmp 0x10037fbf
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0x19570a50
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037fac
mov eax, dword [ebp - 0xc4]
inc dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x10], ebx
inc eax
jmp 0x10037fee
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037feb
push eax
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
xor eax, eax
inc eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10037fd5
lea ecx, [ebp - 0xc4]
call fcn.10017dba
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.10017dba
push esi
lea ecx, [ebp - 0xa4]
call fcn.10017d38
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x94]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10008ff0]
xor eax, eax
inc eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x10], esi
push eax
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0xb839
push ebx
movdqu xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
call fcn.1001c9f1
mov dword [ebp - 0x18], ebx
jmp 0x1003808e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003807b
mov dword [ebp - 0x18], ebx
jmp 0x100380a9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10038098
xor ecx, ecx
inc ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
cmp eax, 0x31ea0627
jge 0x100380e2
mov eax, dword [ebp - 0xa4]
cmp dword [eax + 4], ebx
jne 0x100380e2
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
add eax, ecx
cmp eax, 4
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xa4]
setne cl
mov dword [ebp - 0x24], ecx
mov edx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
add eax, edx
add eax, esi
imul ecx, eax, 0x18e4
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp edx, ecx
mov ecx, 0xa898cbdb
setne al
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0xfffc
sbb ecx, ecx
neg ecx
imul ecx, esi
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x94]
setge cl
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x94]
call fcn.10017dba
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.10017dba
cmp dword [ebp - 0x2c], 0
jne 0x1003824c
cmp byte [ebp - 0x39], 0
mov esi, dword [ebp - 0x30]
je 0x1003819a
xor eax, eax
inc eax
cmp dword [ebp - 0x38], eax
jne 0x1003819a
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push esi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], edi
call fcn.10054986
pop ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ebx
push eax
push esi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.1003cc5e
mov ecx, ebx
test esi, esi
jle 0x10038231
mov eax, ecx
and eax, 0x80000001
jns 0x100381e9
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
add eax, ecx
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x48]
cdq
idiv esi
mov eax, dword [ebp - 0x60]
cmp word [eax + edx*2], bx
je 0x10038219
mov edi, eax
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x10038207
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
xor ebx, ebx
inc ebx
mov word [eax + edx*2], bx
mov al, byte [edx + edi]
mov edx, dword [ebp - 0x24]
push 0
pop ebx
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x100381db
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x60]
mov dword [edi], esi
test eax, eax
je 0x1003824f
push eax
call fcn.1005909d
pop ecx
jmp 0x1003824f
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret