Function at 0x100393b4
Capabilities:
Enumerate files on windows
Get disk information
Get file attributes
Query environment variable
Query service status
Set thread local storage value

Disassembly:
mov eax, 0x10064ac7
call fcn.10063688
sub esp, 0x9b4
push ebx
mov dword [ebp - 0x8c], ecx
xor ecx, ecx
mov dword [ebp - 0x18], 0xc70bb743
inc ecx
push esi
mov dword [ebp - 0x4c], 0x9e3c
push edi
mov dword [ebp - 0x38], ecx
mov edi, 0x100081a8
mov dword [ebp - 0x24], 0x1ce3
cmp dword [ebp - 0x24], 0x10de
push 0
mov byte [ebp - 0x5d], dl
pop ebx
jge 0x10039454
lea eax, [ebp - 0xb4]
push eax
push edi
call fcn.1004a47b
mov esi, ebx
pop ecx
pop ecx
cmp dword [ebp - 0xb4], ebx
jle 0x10039446
lea eax, [ebp - 0x260]
push eax
push edi
call fcn.1004a47b
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0x260]
inc eax
push eax
push 0x100086d4
call fcn.1004a80c
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0xb4]
jl 0x10039415
push 0x10008115
call fcn.1004aac6
pop ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x10039466
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10039459
mov dword [ebp - 0x18], ebx
jmp 0x1003947d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x658], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10039470
mov esi, dword [sym.imp.GDI32.dll_SelectPalette]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003949e
push ebx
push ebx
push 0xa9f
call esi
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x10039558
mov dword [ebp - 0x24], 0xa277ebd0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x50]
dec dword [ebp - 0x50]
test eax, eax
je 0x100394cc
cmp dword [ebp - 0x24], ebx
jne 0x100394d1
cmp dword [ebp - 0x18], ebx
je 0x100394d3
mov ebx, ecx
xor ecx, ecx
mov dword [ebp - 0x658], ebx
mov eax, dword [ebp - 0x18]
cmp ebx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 5
push 1
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xb3f4
mov ecx, dword [ebp - 0xa8]
setl al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ebx, ebx
cmp edx, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp eax, ebx
setle cl
imul eax, ecx, 0xba5e
pop ecx
sub eax, 0x67ab6ce1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x18]
xor ebx, ebx
mov eax, 0xffff
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x18], ebx
jle 0x100394a6
push 2
lea ecx, [ebp - 0x574]
call fcn.1000d8e5
mov dword [ebp - 0x1c], 0x490c4d8e
mov dword [ebp - 0x1c], ebx
jmp 0x10039595
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x574]
mov dword [eax + ecx*4], 0xd3df
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10039582
mov edi, dword [sym.imp.USER32.dll_RemoveMenu]
xor eax, eax
mov dword [ebp - 0x1c], ebx
inc eax
jmp 0x100395c5
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100395c2
push 0x1d0
push 0xe9c
push ebx
call edi
xor eax, eax
inc eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x100395a9
lea ecx, [ebp - 0x574]
call fcn.1000e49e
mov dword [ebp - 0x18], 0xc70bb743
xor ecx, ecx
push 9
mov dword [ebp - 0x3c], 0x928c176b
inc ecx
mov dword [ebp - 0x3c], ebx
pop edx
cmp dword [ebp - 0x3c], edx
je 0x1003961d
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x1c], ebx
jmp 0x1003960a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x27c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100395fd
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x3c]
jmp 0x100395ec
mov dword [ebp - 0x4c], 0x9e3c
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], ebx
jmp 0x10039639
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003962c
mov dword [ebp - 0x18], ebx
jmp 0x10039650
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x670], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10039643
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003966b
push ebx
push ebx
push 0xa9f
call esi
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003972e
mov dword [ebp - 0x24], 0xa277ebd0
mov eax, 0xffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x50]
dec dword [ebp - 0x50]
test eax, eax
je 0x100396a2
cmp dword [ebp - 0x24], ebx
jne 0x100396a7
cmp dword [ebp - 0x18], ebx
je 0x100396a9
mov ebx, ecx
xor ecx, ecx
mov dword [ebp - 0x670], ebx
mov eax, dword [ebp - 0x18]
cmp ebx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 5
push 1
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xb3f4
mov ecx, dword [ebp - 0xa4]
setl al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xa4]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ebx, ebx
cmp edx, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp eax, ebx
setle cl
imul eax, ecx, 0xba5e
pop ecx
sub eax, 0x67ab6ce1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x18]
xor ebx, ebx
cmp dword [ebp - 0x18], ebx
jle 0x10039673
push 2
lea ecx, [ebp - 0x4e0]
call fcn.1000d8e5
mov dword [ebp - 0x1c], 0x490c4d8e
mov dword [ebp - 0x1c], ebx
jmp 0x10039763
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4e0]
mov dword [eax + ecx*4], 0xd3df
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10039750
xor esi, esi
mov dword [ebp - 0x1c], ebx
inc esi
jmp 0x1003978a
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039787
push 0x1d0
push 0xe9c
push ebx
call edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10039771
lea ecx, [ebp - 0x4e0]
call fcn.1000e49e
mov dword [ebp - 0x34], 0xc70bb743
mov dword [ebp - 0x48], 0x9e3c
push 9
mov dword [ebp - 0x3c], 0x928c176b
mov dword [ebp - 0x3c], ebx
pop ecx
jmp 0x100397e1
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x1c], ebx
jmp 0x100397d0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x26c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100397c3
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jne 0x100397b7
mov dword [ebp - 0x24], 0x15c5
cmp dword [ebp - 0x24], 0x891
jge 0x100399b9
push 0x2f0
lea eax, [ebp - 0x9bc]
mov dword [ebp - 0x9c0], ebx
push ebx
push eax
call fcn.1004a8c0
add esp, 0xc
mov dword [ebp - 0x364], ebx
lea ecx, [ebp - 0x374]
mov dword [ebp - 0x360], ebx
push ebx
push ebx
call fcn.1000df30
lea edx, [ebp - 0x374]
mov dword [ebp - 4], ebx
mov ecx, 0x10654250
call fcn.10038434
mov edi, dword [ebp - 0x364]
mov ecx, ebx
test edi, edi
jle 0x10039871
cmp dword [ebp - 0x360], 0x10
lea eax, [ebp - 0x374]
cmovae eax, dword [ebp - 0x374]
movsx eax, byte [eax + ecx]
inc dword [ebp + eax*4 - 0x9c0]
inc ecx
cmp ecx, edi
jl 0x1003984d
push ebx
push edi
lea ecx, [ebp - 0x220]
call fcn.1000f7a5
xor edx, edx
lea esi, [ebp - 0x9c0]
inc edx
lea ecx, [ebp - 0x9bc]
mov byte [ebp - 4], dl
mov byte [ebp - 0x9d], bl
mov eax, dword [esi]
cmp eax, dword [ecx]
lea eax, [ebp - 0x6cc]
cmovl esi, ecx
add ecx, 4
cmp ecx, eax
jne 0x10039896
mov dword [ebp - 0x24], edx
cmp edi, edx
jle 0x10039901
mov ebx, dword [ebp - 0x24]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x4c], eax
cmp ebx, eax
jl 0x100398d1
push 2
lea ecx, [ebx + 1]
pop edx
call fcn.1003938f
test al, al
jne 0x100398f7
cmp dword [ebp - 0x20c], 0x10
lea ecx, [ebp - 0x220]
mov eax, esi
lea edx, [ebp - 0x9c0]
cmovae ecx, dword [ebp - 0x220]
sub eax, edx
sar eax, 2
mov byte [ecx + ebx], al
dec dword [esi]
mov eax, dword [ebp - 0x4c]
inc ebx
cmp ebx, edi
jl 0x100398be
xor ebx, ebx
cmp dword [esi], ebx
jge 0x10039916
mov edx, 0x1000887c
mov ecx, 0x10654198
call fcn.10011df5
jmp 0x10039991
mov ecx, ebx
mov edx, ebx
test edi, edi
jle 0x1003996e
mov esi, dword [ebp - 0x20c]
cmp esi, 0x10
lea eax, [ebp - 0x220]
cmovae eax, dword [ebp - 0x220]
cmp byte [eax + edx], 0
jne 0x10039969
jmp 0x1003993d
inc ecx
cmp dword [ebp + ecx*4 - 0x9c0], ebx
je 0x1003993c
cmp esi, 0x10
lea eax, [ebp - 0x220]
cmovae eax, dword [ebp - 0x220]
mov byte [eax + edx], cl
mov esi, dword [ebp - 0x20c]
movsx eax, cl
dec dword [ebp + eax*4 - 0x9c0]
inc edx
cmp edx, edi
jl 0x10039924
mov edx, 0x10008880
mov ecx, 0x10654198
call fcn.10011df5
push eax
call fcn.10011fcc
pop ecx
lea edx, [ebp - 0x220]
mov ecx, eax
call fcn.10037fb9
push eax
call fcn.10011fcc
pop ecx
xor esi, esi
lea ecx, [ebp - 0x220]
push ebx
inc esi
push esi
call fcn.1000df30
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x374]
push ebx
push esi
call fcn.1000df30
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], ebx
jmp 0x100399d1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100399c4
push 2
pop esi
mov dword [ebp - 0x28], 0xb9f9b31
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x1c], 0x3034d006
push esi
call fcn.1000d8e5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10039a0e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2b4]
mov dword [eax + ecx*4], 0x3e386939
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100399fb
xor edi, edi
mov dword [ebp - 0x28], ebx
inc edi
cmp dword [ebp - 0x28], 0xffffffee
jne 0x10039b1f
mov esi, dword [ebp - 0x2b4]
mov dword [ebp - 0x30], 0xf36f
xor edx, edx
mov dword [ebp - 0x2c], 0x3e458c45
mov dword [ebp - 0x4c], 0xfbf2b831
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov dword [esi + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xa9d6
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
setl cl
test ecx, ecx
js 0x10039a90
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039a79
push 0x6c0
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039b0f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
jmp 0x10039b0f
mov dword [ebp - 0x30], ebx
jmp 0x10039b09
mov dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x4c], ebx
je 0x10039aab
mov edx, edi
cmp dword [ebp - 0x30], ebx
jne 0x10039aad
mov edx, ebx
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [esi + 4]
cmp edi, ecx
mov dword [eax], ecx
sbb eax, eax
inc eax
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jne 0x10039ad9
mov eax, ebx
cmp dword [ebp - 0x28], ebx
je 0x10039adb
mov eax, edi
mov ecx, 0xda2a4f2a
cmp ecx, eax
mov eax, dword [ebp - 0x30]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039b06
push 0xbe4
call dword [sym.imp.USER32.dll_GetKeyboardType]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff4
jge 0x10039a95
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffee
je 0x10039a29
push 2
pop esi
lea ecx, [ebp - 0x2b4]
call fcn.1000e49e
mov dword [ebp - 0x18], ebx
jmp 0x10039b3c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x640], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10039b2f
mov dword [ebp - 0x20], 0x68206240
lea ecx, [ebp - 0x58c]
push 3
call fcn.1000d8e5
push 4
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 4], esi
call fcn.1000d8e5
mov dword [ebp - 0x18], ebx
jmp 0x10039b7e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10039b6b
mov dword [ebp - 0x18], ebx
jmp 0x10039b9c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4d4]
mov dword [eax + ecx*4], 0xaeb59008
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10039b89
mov dword [ebp - 0x20], ebx
jmp 0x10039c0c
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x1c], ebx
jmp 0x10039c04
mov dword [ebp - 0x18], 0xb5ca9869
mov dword [ebp - 0x18], ebx
jmp 0x10039bdd
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039bd7
push ebx
push 0x48d
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10039bc2
mov dword [ebp - 0x18], ebx
jmp 0x10039bfc
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039bf6
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
inc dword [ebp - 0x2c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10039be7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10039bb6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xf
jne 0x10039ba7
mov dword [ebp - 0x20], 0x1b
jmp 0x10039c2f
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039c2c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffec
jle 0x10039c1b
lea ecx, [ebp - 0x4d4]
call fcn.1000e49e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58c]
call fcn.1000e49e
push edi
lea ecx, [ebp - 0xf4]
call fcn.1000d8e5
mov dword [ebp - 4], 3
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x24], 0xaf833954
mov dword [ebp - 0x18], ebx
jmp 0x10039c87
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10039c78
mov dword [ebp - 0x18], ebx
jmp 0x10039ca2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x234], 0x21ec2184
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10039c91
mov eax, dword [ebp - 0xf4]
mov dword [eax], ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039cc5
push ebx
push 0x20cc
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov eax, dword [ebp - 0xf4]
dec dword [eax]
cmp dword [eax], 0xffffffe2
jg 0x10039caf
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jg 0x10039e2d
push 4
lea ecx, [ebp - 0x288]
call fcn.1000d8e5
mov dword [ebp - 0x28], 0xffffffff
xor edx, edx
mov dword [ebp - 0x24], 0xfffffff7
inc edx
mov dword [ebp - 0x4a4], edx
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x498], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10039d28
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x288]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10039d19
mov edx, dword [ebp - 0x288]
mov dword [edx], ebx
mov esi, dword [ebp - 0xf4]
xor ecx, ecx
mov eax, dword [esi]
dec eax
cmp eax, 2
mov eax, dword [edx]
setl cl
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [esi + eax*4]
mov eax, dword [ebp - 0x288]
neg edx
sbb edx, edx
inc edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], edx
mov dword [ebp - 0x28], 0xffffffef
jmp 0x10039d9a
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039d82
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039d97
push ebx
push 0x1e3b
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x10039d71
mov edx, dword [ebp - 0x288]
dec dword [edx]
jns 0x10039d36
cmp dword [ebp - 0x20], ebx
je 0x10039ddc
mov eax, dword [ebp - 0x234]
imul eax, dword [ebp - 0x234]
test eax, eax
jne 0x10039dc3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
xor edi, edi
inc edi
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
je 0x10039ddf
mov eax, dword [ebp - 0x28]
jmp 0x10039ddf
xor edi, edi
inc edi
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x288]
mov dword [edx + esi*4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0xfffffff8
call fcn.1000e49e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10039cde
push 2
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.1000e49e
mov byte [ebp - 0xd], bl
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x14], 0xfffffffc
push esi
call fcn.1000d8e5
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x10039e6c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10039e5e
mov dword [ebp - 0x18], ebx
jmp 0x10039e89
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b0]
mov dword [eax + ecx*4], 0xdb84c6a3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10039e76
mov dword [ebp - 0x5c], 0xfffffffb
jmp 0x10039f03
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x24], 0xfffffffa
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], 0xf44401d1
mov eax, dword [ebp - 0x14]
push 9
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x50]
setl bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
cmp ecx, 0xfffffff8
jne 0x10039eea
mov ecx, edi
cmp dword [ebp - 0x5c], ebx
je 0x10039eec
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
imul ecx, eax, 0xfffc
mov eax, dword [ebp - 0x1b0]
mov dword [eax], ecx
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xfffffffd
jge 0x10039e97
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1b0]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp dword [eax], ebx
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x655af779
je 0x10039f36
cmp dword [ebp - 0x4c], ebx
jne 0x10039f38
mov edi, ebx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x1b0]
setg cl
xor edx, edx
sub edi, dword [eax]
mov eax, dword [ebp - 0x5c]
cmp ecx, edi
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x1b0]
call fcn.1000e49e
cmp byte [ebp - 0xd], 0
je 0x10039fde
push 2
lea ecx, [ebp - 0x314]
call fcn.1000d8e5
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 2
jge 0x10039f9d
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x314]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10039f88
mov eax, dword [ebp - 0x314]
mov dword [eax], 0xffffffec
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10039fb9
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov eax, dword [ebp - 0x314]
inc dword [eax]
cmp dword [eax], 7
jle 0x10039fa9
lea ecx, [ebp - 0x314]
call fcn.1000e49e
push ebx
push ebx
push 0xa9f
call dword [sym.imp.GDI32.dll_SelectPalette]
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jg 0x1003a4ec
push 4
pop esi
push 2
lea ecx, [ebp - 0x440]
call fcn.1000d8e5
mov dword [ebp - 0x14], 0x44ad3740
mov dword [ebp - 0x24], 0x3b6f9b69
mov dword [ebp - 0x1c], ebx
jmp 0x1003a020
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x440]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003a00d
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003a036
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x440]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
inc eax
cmp eax, edx
jne 0x1003a055
test edx, edx
jne 0x1003a055
xor edi, edi
mov ecx, ebx
inc edi
jmp 0x1003a05a
xor edi, edi
inc edi
mov ecx, edi
xor eax, eax
cmp edx, ecx
setne al
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xe124dc41
lea ecx, [ebp - 0x440]
setne al
sub eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
call fcn.1000e49e
mov dword [ebp - 0x54], 0xa277ebd0
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x3c], 0x1824a8c6
mov dword [ebp - 0x38], edi
push esi
call fcn.1000d8e5
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1003a0bb
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3b0]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003a0ac
mov dword [ebp - 0x3c], 0xffffffe3
cmp dword [ebp - 0x3c], 0xffffffe5
je 0x1003a122
mov esi, dword [ebp - 0x3b0]
mov dword [ebp - 0x38], 0x288a137b
lea ecx, [ebp - 0x4ec]
mov dword [ebp - 0x38], edi
push 3
call fcn.1000d8e5
mov dword [ebp - 0x1c], ebx
jmp 0x1003a102
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4ec]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003a0ef
dec dword [esi + 0xc]
lea ecx, [ebp - 0x4ec]
call fcn.1000e49e
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe5
jne 0x1003a0d3
push 4
pop esi
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003a138
push 0x180a
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3b0]
call fcn.1000e49e
mov dword [ebp - 0x4c], 0xffffffff
push 0x16
mov dword [ebp - 0x44], 0x61928c17
mov dword [ebp - 0x44], 0x15
pop eax
jmp 0x1003a17d
mov dword [ebp - 0x1c], 0xaa9ac70c
mov dword [ebp - 0x1c], ebx
jmp 0x1003a175
cmp dword [ebp - 0x44], ebx
jne 0x1003a17a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jne 0x1003a16d
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], eax
jne 0x1003a161
mov eax, 0xffff
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xfffffff7
push esi
call fcn.1000d8e5
mov dword [ebp - 0x1c], 0x50e8f7cf
or ecx, 0xffffffff
mov dword [ebp - 0x30], 0x85a06c0f
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], 0x95c78859
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jge 0x1003a1d7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003a1c0
or ecx, 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003a1e9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x67c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003a1dc
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0x1a
jne 0x1003a387
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x14], 0x6013
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1003a30f
mov dword [ebp - 0x50], 0xc51978e6
mov dword [ebp - 0x2c], 0xccc09984
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x20], ebx
jne 0x1003a2c3
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x32c]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setg dl
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
add edx, edx
cmp edx, eax
setge cl
imul edx, ecx, 0xfffb
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
add edx, 0xffffc912
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
je 0x1003a2a4
cmp dword [ebp - 0x44], ebx
je 0x1003a2a4
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, edi
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x32c]
setne cl
cmp ecx, dword [eax + 0xc]
jne 0x1003a2ca
mov eax, edi
cmp dword [ebp - 0x44], ebx
jne 0x1003a2cc
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
push 0xffffffffffffffff
sbb eax, eax
neg eax
imul eax, eax, 0xe128
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2c]
cmp eax, edi
setle cl
add ecx, 0x5569c69b
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x20]
pop ecx
jns 0x1003a21d
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x674]
cmp eax, 2
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
setl cl
sub edx, ecx
neg edx
push 9
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
mov eax, 0xffff
setne dl
xor ebx, ebx
add edx, eax
mov eax, dword [ebp - 0x24]
cmp eax, edx
pop eax
setl bl
xor ecx, ecx
sub ebx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ebx
push 0
setg cl
mov dword [ebp - 0x30], ecx
imul eax, dword [ebp - 0x30], 0x427
pop ebx
push 0xffffffffffffffff
pop ecx
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1a
je 0x1003a1fc
lea ecx, [ebp - 0x32c]
call fcn.1000e49e
mov dword [ebp - 0x40], 0xfffffffc
xor ecx, ecx
mov dword [ebp - 0x2c], 0x66a756a3
inc ecx
mov dword [ebp - 0x50], 0x1e3ff14e
mov dword [ebp - 0x38], 0xc99cdf9c
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], 0x1bbb4f5a
mov dword [ebp - 0x38], 0xfe936be8
mov dword [ebp - 0x38], 0xb996a530
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1003a3e2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4f0], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003a3d1
mov dword [ebp - 0x40], ebx
cmp dword [ebp - 0x40], ebx
jl 0x1003a43e
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x2c], 0xe0184dcc
mov dword [ebp - 0x2c], 0x2e08
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x1003a434
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x3c]
dec dword [ebp - 0x3c]
test eax, eax
je 0x1003a45a
mov dword [ebp - 0x20], 0xfffffffe
xor esi, esi
inc esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0x6e3268dd
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x20], 0xffffffe6
jmp 0x1003a5b5
push 2
lea ecx, [ebp - 0x344]
call fcn.1000d8e5
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1003a537
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x344]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003a528
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov esi, dword [ebp - 0x344]
cmp eax, 0xfffffff7
setg cl
xor eax, eax
mov dword [esi + 4], 0xffffffea
mov edx, dword [esi + 4]
cmp edx, ecx
sete al
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x344]
setg cl
mov dword [eax], ecx
cmp dword [ebp - 0x28], ebx
je 0x1003a57f
cmp dword [esi + 4], ebx
je 0x1003a57f
xor esi, esi
inc esi
mov ecx, esi
jmp 0x1003a584
xor esi, esi
mov ecx, ebx
inc esi
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x344]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
call fcn.1000e49e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jg 0x1003a50f
mov edi, dword [sym.imp.USER32.dll_GetScrollInfo]
mov dword [ebp - 0x20], 0xffffffe9
jmp 0x1003a695
push 9
pop eax
mov dword [ebp - 0x30], eax
xor edx, edx
mov dword [ebp - 0x50], 0x6fbc79a4
mov dword [ebp - 0x4c], 0xe511afd2
mov dword [ebp - 0x48], 0xbda3fa0b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setle dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jne 0x1003a650
cmp dword [ebp - 0x30], ebx
jne 0x1003a608
mov esi, ebx
cmp dword [ebp - 0x28], 0x5584e2bb
jle 0x1003a61a
cmp dword [ebp - 0x30], ebx
jne 0x1003a61a
mov edx, ebx
jmp 0x1003a61f
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, esi
add ecx, dword [ebp - 0x50]
dec dword [ebp - 0x50]
test ecx, ecx
je 0x1003a641
cmp dword [ebp - 0x20], ebx
je 0x1003a641
xor esi, esi
inc esi
mov eax, esi
jmp 0x1003a646
xor esi, esi
mov eax, ebx
inc esi
mov dword [ebp - 0x4c], eax
mov eax, ebx
cmp dword [ebp - 0x4c], ebx
je 0x1003a652
mov eax, esi
cmp eax, 0xdd2dc097
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setle cl
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003a692
push ebx
push 0x248d
push 0xd8e
call edi
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe2
jle 0x1003a5d1
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0x6e3268dd
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x20], 0xffffffe6
jmp 0x1003a765
push 2
lea ecx, [ebp - 0x35c]
call fcn.1000d8e5
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1003a6e7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x35c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003a6d8
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov esi, dword [ebp - 0x35c]
cmp eax, 0xfffffff7
setg cl
xor eax, eax
mov dword [esi + 4], 0xffffffea
mov edx, dword [esi + 4]
cmp edx, ecx
sete al
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x35c]
setg cl
mov dword [eax], ecx
cmp dword [ebp - 0x28], ebx
je 0x1003a72f
cmp dword [esi + 4], ebx
je 0x1003a72f
xor esi, esi
inc esi
mov ecx, esi
jmp 0x1003a734
xor esi, esi
mov ecx, ebx
inc esi
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x35c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
call fcn.1000e49e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jg 0x1003a6bf
mov dword [ebp - 0x20], 0xffffffe9
jmp 0x1003a83f
push 9
pop eax
mov dword [ebp - 0x30], eax
xor edx, edx
mov dword [ebp - 0x50], 0x6fbc79a4
mov dword [ebp - 0x4c], 0xe511afd2
mov dword [ebp - 0x48], 0xbda3fa0b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setle dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jne 0x1003a7fa
cmp dword [ebp - 0x30], ebx
jne 0x1003a7b2
mov esi, ebx
cmp dword [ebp - 0x28], 0x5584e2bb
jle 0x1003a7c4
cmp dword [ebp - 0x30], ebx
jne 0x1003a7c4
mov edx, ebx
jmp 0x1003a7c9
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, esi
add ecx, dword [ebp - 0x50]
dec dword [ebp - 0x50]
test ecx, ecx
je 0x1003a7eb
cmp dword [ebp - 0x20], ebx
je 0x1003a7eb
xor esi, esi
mov eax, ebx
inc esi
mov dword [ebp - 0x4c], eax
mov eax, ebx
cmp dword [ebp - 0x4c], ebx
je 0x1003a7fc
mov eax, esi
cmp eax, 0xdd2dc097
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setle cl
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003a83c
push ebx
push 0x248d
push 0xd8e
call edi
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe2
jle 0x1003a77b
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xd6525681
mov dword [ebp - 0x38], 0xa9b27fa
mov dword [ebp - 0x38], 0x3fe6966e
push 7
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xdd2e91c8
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x54], 0xfffffff9
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0x2302
mov dword [ebp - 0x1c], ebx
jmp 0x1003a8b7
cmp dword [ebp - 0x1c], 2
jl 0x1003a8a6