Function at 0x10036f76
Capabilities:
Accept command line arguments
Allocate thread local storage
Create pipe
Delete file
Delete registry key
Encode data using xor
Enumerate gui resources
Extract resource via kernel32 functions
Get memory capacity
Identify system language via api
Query environment variable

Disassembly:
mov eax, 0x1005c898
call fcn.1005ba30
sub esp, 0x760
push ebx
push esi
mov esi, 0x61928c17
mov byte [ebp - 0x58], dl
mov dword [ebp - 0x184], esi
xor ebx, ebx
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x17c], esi
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x40], 0x3aa9ac70
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], 0xf7d96711
mov dword [ebp - 0x3c], 0x358a
cmp dword [ebp - 0x3c], 0x35a3
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], ecx
jle 0x10037029
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, edi
mov edi, 0x51b8
mov eax, esi
lea ecx, [ebp - 0x710]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10036ffc
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x710]
call fcn.10011d14
dec esi
dec edi
jne 0x10036fe2
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x7fcc
jl 0x10036fdb
mov esi, 0x61928c17
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x3c], 0x328f
jge 0x10037044
push 0x1000a9e8
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], 0x1066
cmp dword [ebp - 0x28], 0x1257
jle 0x100370ab
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x668]
or eax, edi
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003707f
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x668]
call fcn.10011d14
inc esi
cmp esi, 0x76ba
jl 0x10037063
inc edi
cmp edi, 0x7ceb
jl 0x10037061
mov esi, 0x61928c17
cmp dword [ebp - 0x28], 0xe92
jge 0x100370bf
push 0x1000aa34
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], ebx
jmp 0x100370ef
mov dword [ebp - 0x28], 0x2b3b7bed
xor edx, edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + eax*4 - 0x184]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jle 0x100370c8
cmp dword [ebp - 0x18], ebx
je 0x10037103
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x28], 0x7ad53a38
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x17c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
add eax, ecx
je 0x1003713f
cmp dword [ebp - 0x180], ebx
je 0x1003713f
cmp dword [ebp - 0x18], ebx
je 0x1003713f
xor edi, edi
inc edi
mov edx, edi
jmp 0x10037144
xor edi, edi
mov edx, ebx
inc edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, edi
setle cl
sub ecx, edx
jne 0x10037160
cmp dword [ebp - 0x184], ebx
je 0x10037167
mov eax, edi
cmp dword [ebp - 0x34], ebx
jne 0x10037169
mov eax, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x40], 0x3aa9ac70
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], 0xf7d96711
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x40], ebx
jmp 0x100371d3
mov dword [ebp - 0x28], 0x2b3b7bed
xor edx, edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + eax*4 - 0x174]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jle 0x100371ac
cmp dword [ebp - 0x18], ebx
je 0x100371e7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x28], 0x7ad53a38
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x16c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
add eax, ecx
je 0x1003721e
cmp dword [ebp - 0x170], ebx
je 0x1003721e
mov edx, edi
cmp dword [ebp - 0x18], ebx
jne 0x10037220
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, edi
setle cl
sub ecx, edx
jne 0x1003723c
cmp dword [ebp - 0x174], ebx
je 0x10037243
mov eax, edi
cmp dword [ebp - 0x34], ebx
jne 0x10037245
mov eax, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 0xd5e4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037265
push edi
push ebx
push 0xcc4
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037275
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 2
lea ecx, [ebp - 0x544]
call fcn.10011794
push 4
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x34], 0x434678dc
mov dword [ebp - 0x30], 0x10aa43b2
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x30], ebx
push eax
call fcn.10011794
mov byte [ebp - 4], 5
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x28], 0x42b
cmp dword [ebp - 0x28], 0x6d4
jle 0x10037300
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x106040f8
xor eax, edi
cdq
push edx
push eax
call fcn.1001156c
inc esi
cmp esi, 0x3c38
jl 0x100372d5
inc edi
cmp edi, 0x1577
jl 0x100372d3
xor edi, edi
mov esi, 0x61928c17
inc edi
mov dword [ebp - 0x30], ebx
mov byte [ebp - 4], 6
cmp dword [ebp - 0x28], 0x23e
jge 0x10037345
mov edx, 0x1000aa78
mov ecx, 0x106040f8
call fcn.10013e7d
jmp 0x10037345
mov dword [ebp - 0x30], 0x4b74
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x30], 0xbf35
mov dword [ebp - 0x28], 0x21aa
mov dword [ebp - 0x1c], ebx
jmp 0x10037372
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x544]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10037362
mov dword [ebp - 0x1c], ebx
jmp 0x10037390
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3f8]
mov dword [eax + ecx*4], 0xc2251554
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003737d
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, 0xfc35327
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
cmp eax, edi
mov eax, dword [ebp - 0x3f8]
setg cl
mov dword [eax + 8], ecx
test ecx, ecx
jne 0x100373d2
mov ecx, edi
cmp dword [ebp - 0x44], ebx
je 0x100373d4
mov ecx, ebx
mov eax, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x3f8]
call fcn.10011816
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x544]
call fcn.10011816
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x90], 0x799a
mov dword [ebp - 0x8c], 0x799a
mov dword [ebp - 0x88], 0x799a
mov dword [ebp - 0x84], 0x799a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003744a
push 0x2291
call dword [sym.imp.GDI32.dll_UpdateColors]
mov dword [ebp - 0x48], 0x6347
cmp dword [ebp - 0x48], 0x6537
jle 0x100374f2
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x44], ebx
cdq
mov esi, ebx
idiv edi
mov ecx, edx
mov dword [ebp - 0x3c], ecx
mov edi, ebx
mov dword [ebp - 0x28], 0xf96
mov eax, edi
and eax, ecx
lea ecx, [ebp - 0x680]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003749d
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x680]
call fcn.10011d14
mov ecx, dword [ebp - 0x3c]
add edi, esi
dec dword [ebp - 0x28]
jne 0x10037481
inc esi
cmp esi, 0x2ab4
jl 0x10037478
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x44], edi
cmp edi, 0x2b0c
jl 0x1003746e
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x461e
jl 0x10037469
push ebx
push ebx
push 0x20c
call dword [sym.imp.ADVAPI32.dll_CopySid]
xor edi, edi
inc edi
mov byte [ebp - 0x11], bl
cmp dword [ebp - 0x48], 0x5f6d
jge 0x10037509
push 0x1000ab08
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x11], 0
je 0x10037530
push ebx
push 0x44e
push 0x1202
push ebx
push 0x1fbf
push 0xc59
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x38], 0x3aa9ac70
mov dword [ebp - 0x4c], 0xfffffff8
push 3
pop esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x4c], ebx
jmp 0x1003777a
mov dword [ebp - 0x18], ebx
jmp 0x10037585
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd8], 0x38dd44ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037574
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xd0]
add ecx, 0x711d
cmp ecx, eax
mov eax, dword [ebp - 0xd8]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor edx, edx
cmp ecx, 0xfba2
setl dl
sub edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xd8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xd0]
setge cl
imul eax, ecx
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x81c1
sub ecx, eax
je 0x10037603
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0xd8]
neg eax
sbb eax, eax
xor ebx, ebx
neg eax
cmp eax, dword [ebp - 0xd8]
jle 0x10037641
mov dword [ebp - 0x18], 0xf62939c0
mov dword [ebp - 0x18], ebx
jmp 0x10037636
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x114], 0x5807
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037625
jmp 0x10037777
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1003776e
mov dword [ebp - 0x18], 0x6bbb3073
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x114], ebx
je 0x10037677
mov eax, dword [ebp - 0x1c]
mov edx, edi
cmp dword [ebp + eax*4 - 0x114], ebx
jl 0x10037679
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xd8]
cmp edx, eax
setg cl
xor edx, edx
dec ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
add edx, 0x2c102d1f
neg edx
mov eax, dword [ebp + eax*4 - 0xd8]
sbb edx, edx
neg edx
add eax, edx
neg eax
sbb eax, eax
neg eax
sub eax, 0x9f33d48
cmp eax, dword [ebp - 0x18]
jne 0x100376c6
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x38], ebx
jmp 0x10037766
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x1003775d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10037728
push ebx
push 0x44e
push 0x1202
push ebx
push 0x1fbf
push 0xc59
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x10037758
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0xd8], ebx
jne 0x10037758
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xd8], ecx
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x18]
jns 0x10037730
dec dword [ebp - 0x24]
jns 0x10037703
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jle 0x100376fb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10037653
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xf
je 0x1003756f
mov dword [ebp - 0x18], 0xffffffff
xor edx, edx
mov dword [ebp - 0x28], 0xf7d96711
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], 0x75123020
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setl dl
cmp edx, 0xcf415d72
je 0x100377c8
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x100377ca
mov eax, edi
add eax, 0x14cd
cmp eax, dword [ebp - 0x38]
jg 0x100377d7
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x24], ebx
je 0x10037807
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x38], ebx
mov byte [ebp - 0x11], bl
je 0x100378c8
cmp byte [ebp - 0x11], 0
je 0x100378d7
mov dword [ebp - 0x28], 0x71c9
cmp dword [ebp - 0x28], 0x7479
jle 0x10037874
push 0x16c5
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x106040f8
xor eax, esi
cdq
push edx
push eax
call fcn.1001156c
inc edi
cmp edi, 0x6de2
jl 0x1003784b
inc esi
cmp esi, 0x390
jl 0x10037849
xor edi, edi
push 3
inc edi
pop esi
push ebx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x28], 0x70a9
jge 0x1003789a
mov edx, 0x1000ab50
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
jmp 0x100378d7
cmp byte [ebp - 0x11], 0
je 0x100378d7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], ebx
jmp 0x100378fe
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x4ec], 0xfffffffa
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x100378ed
mov dword [ebp - 0x38], 2
cmp dword [ebp - 0x38], ebx
jl 0x10037920
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x4ec], ebx
jne 0x10037920
dec dword [ebp - 0x38]
jns 0x1003790f
mov eax, dword [ebp - 0x4e8]
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg dl
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], esi
jg 0x10037afd
mov dword [ebp - 0x40], 0x68ec0ae9
mov dword [ebp - 0x3c], 0x393e75cb
mov dword [ebp - 0x18], ebx
jmp 0x10037970
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], 0x869b7d6b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003795f
mov dword [ebp - 0x40], 0xffffffff
jmp 0x100379c4
mov dword [ebp - 0x18], 0x5cd53bc6
mov dword [ebp - 0x18], ebx
jmp 0x1003799c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x238], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003798b
mov dword [ebp - 0x18], ebx
jmp 0x100379b3
mov dword [ebp - 0x28], 0x8f6c74aa
dec dword [ebp - 0x28]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x100379a6
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe6
jg 0x1003797f
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
neg edx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x19c]
cmp eax, edi
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x40]
setge cl
imul edx, ecx
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
test ecx, ecx
setns al
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x28], 0x2b3b7bed
mov dword [ebp - 0x18], 0x62ca
cmp dword [ebp - 0x18], 0x65b2
jle 0x10037a8d
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], 0x5c2
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], 0x33a
mov eax, edi
mov ecx, 0x106040f8
cdq
push edx
push eax
call fcn.1001156c
add edi, esi
dec dword [ebp - 0x28]
jne 0x10037a4b
mov esi, dword [ebp - 0x44]
add dword [ebp - 0x34], esi
dec dword [ebp - 0x3c]
mov edi, dword [ebp - 0x2c]
jne 0x10037a3e
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x39fb
jl 0x10037a34
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x3a79
jl 0x10037a31
xor edi, edi
push 3
inc edi
pop esi
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x18], 0x6006
jge 0x10037aac
mov edx, 0x1000abfc
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x194]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x38]
jmp 0x10037943
mov dword [ebp - 0x40], 0xfffffff8
push 2
mov dword [ebp - 0x28], 0x8009
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x10037b24
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c], 0x98070ade
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10037b13
mov dword [ebp - 0x1c], ebx
jmp 0x10037b3f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10037b2e
dec dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x118], eax
jne 0x10037ba3
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x11c], 0xfffe
jbe 0x10037b76
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], ebx
jmp 0x10037bc2
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x11c], 0xffffffff
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jl 0x10037bb1
cmp dword [ebp - 0x18], ebx
je 0x10037bd5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x28], 0x7ad53a38
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x18c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg cl
add eax, ecx
je 0x10037c0c
cmp dword [ebp - 0x190], ebx
je 0x10037c0c
mov edx, edi
cmp dword [ebp - 0x18], ebx
jne 0x10037c0e
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, edi
setle cl
sub ecx, edx
jne 0x10037c2a
cmp dword [ebp - 0x194], ebx
je 0x10037c31
mov eax, edi
cmp dword [ebp - 0x48], ebx
jne 0x10037c33
mov eax, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x2e91a049
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037c53
push ebx
push ebx
push 0x10bc
call dword [sym.imp.USER32.dll_SetPropA]
mov dword [ebp - 0x38], 0xffffffec
jmp 0x10037ce4
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x10037c7c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x590], 0x4f84b811
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037c6b
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
jl 0x10037ce1
mov dword [ebp - 0x18], ebx
jmp 0x10037c9c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037c8f
mov dword [ebp - 0x1e4], esi
cmp dword [ebp - 0x1e4], ebx
jl 0x10037cca
mov eax, dword [ebp - 0x1e4]
mov eax, dword [ebp + eax*4 - 0x590]
mov dword [ebp - 0x590], eax
dec dword [ebp - 0x1e4]
jns 0x10037caf
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037cdc
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
dec dword [ebp - 0x2c]
jns 0x10037c8a
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jl 0x10037c5f
mov dword [ebp - 0x30], 0xd5e4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037d0b
push edi
push ebx
push 0xcc4
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037d1b
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x38], 0x2e91a049
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037d38
push ebx
push ebx
push 0x10bc
call dword [sym.imp.USER32.dll_SetPropA]
mov dword [ebp - 0x38], 0xffffffec
jmp 0x10037dc9
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x10037d61
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5e0], 0x4f84b811
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037d50
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
jl 0x10037dc6
mov dword [ebp - 0x18], ebx
jmp 0x10037d81
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x274], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037d74
mov dword [ebp - 0x274], esi
cmp dword [ebp - 0x274], ebx
jl 0x10037daf
mov eax, dword [ebp - 0x274]
mov eax, dword [ebp + eax*4 - 0x5e0]
mov dword [ebp - 0x5e0], eax
dec dword [ebp - 0x274]
jns 0x10037d94
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10037dc1
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
dec dword [ebp - 0x2c]
jns 0x10037d6f
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jl 0x10037d44
lea ecx, [ebp - 0x5c0]
xorps xmm0, xmm0
push ecx
lea eax, [ebp - 0x5b0]
push eax
push ecx
lea ecx, [ebp - 0x1fc]
movdqu xmmword [ebp - 0x5c0], xmm0
call fcn.100117f0
push 2
lea ecx, [ebp - 0x410]
mov dword [ebp - 4], 0xe
call fcn.10011794
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x28], 0x3e8d
cmp dword [ebp - 0x28], 0x4113
jle 0x10037e70
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov edi, ebx
add eax, esi
xor eax, edi
or eax, ecx
mov ecx, 0x106040f8
cdq
push edx
push eax
call fcn.1001156c
mov eax, dword [ebp - 0x2c]
inc edi
mov ecx, dword [ebp - 0x18]
cmp edi, 0x1521
jl 0x10037e2e
inc esi
cmp esi, 0x4fe8
jl 0x10037e2c
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x2c9a
jl 0x10037e2a
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x3cb2
jl 0x10037e25
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x28], 0x3c93
jge 0x10037eaa
mov edx, 0x1000ac70
mov ecx, 0x106040f8
call fcn.10013e7d
jmp 0x10037eaa
xor esi, esi
mov dword [ebp - 4], 0xf
inc esi
mov dword [ebp - 0x1c], ebx
jmp 0x10037ecc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x410]
mov dword [eax + ecx*4], 0xa18885c6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10037eb9
mov dword [ebp - 0x1c], ebx
jmp 0x10037ee8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x24c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10037ed7
mov edi, dword [ebp - 0x410]
mov dword [ebp - 0x38], edi
mov dword [edi + 4], ebx
cmp dword [edi + 4], 3
jg 0x100380cc
mov ecx, dword [edi + 4]
xor edx, edx
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x28], 8
cmp ecx, dword [eax + ecx*4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x2c]
setle dl
mov eax, dword [ebp - 0x1fc]
sub esi, edx
mov ecx, dword [edi + 4]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp dword [eax + ecx*4], esi
setl dl
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0xd925d3c0
mov dword [ebp - 0x28], 0xa94fe874
cmp dword [ebp - 0x48], ebx
jne 0x10037fc1
mov eax, dword [ebp - 0x244]
xor ecx, ecx
mov edx, dword [edi + 4]
sub edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov edx, ebx
setg cl
xor esi, esi
inc esi
sub ecx, 0x76df3e2e
je 0x10037f80
mov edx, esi
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x1fc]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x244]
mov eax, dword [ebp - 0x34]
sub eax, dword [edi + 4]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x8afb
setle cl
xor eax, eax
cmp ecx, 0x1a80d1c1
setl al
cmp eax, dword [ebp - 0x34]
jge 0x10037fc4
mov ecx, ebx
jmp 0x10037fc6
xor esi, esi
inc esi
mov ecx, esi
mov eax, dword [ebp - 0x48]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1fc]
mov dword [eax + 4], ecx
test ecx, ecx
je 0x10037ff2
mov eax, dword [ebp - 0x240]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x244]
cmp dword [ebp - 0x244], 0x2c643d43
jge 0x100380f0
mov dword [ebp - 0x48], 0x3257b06f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100380c7
mov dword [ebp - 0x3c], 0x23ae
cmp dword [ebp - 0x3c], 0x25a7
jle 0x100380a6
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommState]
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, edi
mov dword [ebp - 0x44], eax
mov edi, eax
mov esi, ebx
sar edi, cl
mov eax, esi
lea ecx, [ebp - 0x6a4]
xor eax, edi
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038065
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x6a4]
call fcn.10011d14
inc esi
cmp esi, 0x39e4
jl 0x10038049
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x7606
jl 0x1003803e
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x4ccb
jl 0x10038039
mov edi, dword [ebp - 0x38]
xor esi, esi
inc esi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
cmp dword [ebp - 0x3c], 0x23a1
jge 0x100380c0
push 0x1000ace0
call fcn.1004676f
pop ecx
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x48], ebx
je 0x10038115
lea ecx, [ebp - 0x410]
call fcn.10011816
or edi, 0xffffffff
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 4], edi
call fcn.10011816
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], ebx
jmp 0x1003812e
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x10038115
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x30], 0x2a57d884
dec dword [ebp - 0x28]
dec dword [ebp - 0x18]
jns 0x100380ff
inc dword [edi + 4]
jmp 0x10037efa
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x76c], 0x5711
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003811d
mov dword [ebp - 0x18], ebx
jmp 0x10038151
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003814e
push 0x883
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10038139
mov dword [ebp - 0x30], 0xd5e4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10038225
mov dword [ebp - 0x1c], 0x8cff0ea7
mov dword [ebp - 0x1c], ebx
jmp 0x1003820e
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x28], 0x14383674
mov dword [ebp - 0x28], 0x57f3
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003819e
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, dword [ebp - 0x1c]
jne 0x100381c1
cmp dword [ebp - 0x1c], eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x1c]
cmp eax, 0x4571
mov eax, ebx
jg 0x100381c3
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
sub eax, 0xeb32
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x2c]
cmp eax, esi
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x2c]
jl 0x100381fc
mov edx, esi
cmp dword [ebp - 0x1c], ebx
jne 0x100381fe
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
jle 0x1003817a
push esi
push ebx
push 0xcc4
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003838d
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 0xe043eef7
mov dword [ebp - 0x3c], 0x5001
cmp dword [ebp - 0x3c], 0x5220
jle 0x10038299
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], 0x10c1
mov eax, edi
lea ecx, [ebp - 0x6d4]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038271
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x6d4]
call fcn.10011d14
add edi, esi
dec dword [ebp - 0x28]
jne 0x10038257
inc esi
cmp esi, 0x568a
jl 0x1003824e
or edi, 0xffffffff
cmp dword [ebp - 0x3c], 0x4f47
jge 0x100382ad
push 0x1000ad40
call fcn.1004676f
pop ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x38], ebx
jmp 0x100382c6
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x4f8], 0xfe0c2378
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x100382b5
mov dword [ebp - 0x1c], ebx
jmp 0x100382fa
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add eax, 0x5773
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffea
jg 0x100382d1
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18]
je 0x10038323
cmp dword [ebp - 0x1c], ebx
je 0x10038323
xor eax, eax
inc eax
jmp 0x10038325
mov eax, ebx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
imul ecx, eax
mov dword [ebp - 0x4f0], ecx
test ecx, ecx
je 0x1003836a
mov dword [ebp - 0x1c], ebx
jmp 0x10038362
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003834f
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003835f
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
jl 0x10038340
jmp 0x10038386
mov dword [ebp - 0x28], edi
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
lea eax, [edx - 1]
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x18], eax
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, 0x1006289c
lea ecx, [ebp - 0x560]
push ecx
mov dword [ebp - 0x4c], eax
xorps xmm0, xmm0
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x550]
push eax
push ecx
lea ecx, [ebp - 0x234]
movdqu xmmword [ebp - 0x560], xmm0
call fcn.100117f0
push 2
lea ecx, [ebp - 0x32c]
mov dword [ebp - 4], 0x16
call fcn.10011794
mov dword [ebp - 0x1c], ebx
jmp 0x100383e9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 0xa18885c6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100383d6
mov dword [ebp - 0x1c], ebx
jmp 0x10038401
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x268], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100383f4
mov edx, dword [ebp - 0x234]
xor esi, esi
mov edi, dword [ebp - 0x32c]
inc esi
lea eax, [edx + 4]
mov dword [edi + 4], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 4]
xor ecx, ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x28], 8
cmp eax, dword [edx + eax*4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x2c]
setle cl
mov eax, dword [ebp - 0x234]
sub esi, ecx
mov ecx, dword [edi + 4]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp dword [eax + ecx*4], esi
setl dl
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0xd925d3c0
mov dword [ebp - 0x28], 0xa94fe874
cmp dword [ebp - 0x48], ebx
jne 0x100384d6
mov eax, dword [ebp - 0x260]
xor ecx, ecx
mov edx, dword [edi + 4]
sub edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov edx, ebx
setg cl
xor esi, esi
inc esi
sub ecx, 0x76df3e2e
je 0x10038495
mov edx, esi
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x234]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x34]
sub eax, dword [edi + 4]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x8afb
setle cl
xor eax, eax
cmp ecx, 0x1a80d1c1
setl al
cmp eax, dword [ebp - 0x34]
jge 0x100384d9
mov ecx, ebx
jmp 0x100384db
xor esi, esi
inc esi
mov ecx, esi
mov eax, dword [ebp - 0x48]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov dword [ecx], eax
test eax, eax
je 0x10038503
mov eax, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x260]
cmp dword [ebp - 0x260], 0x2c643d43
jge 0x10038535
mov dword [ebp - 0x28], 0x3257b06f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1003852b
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
cmp dword [ebp - 0x28], ebx
jne 0x10038568
push 3
pop eax
jmp 0x10038555
push 3
mov dword [ebp - 0x28], esi
pop eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jl 0x10038555
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x2a57d884
dec dword [ebp - 0x28]
dec dword [ebp - 0x18]
jns 0x10038543
inc dword [edi + 4]
cmp dword [edi + 4], eax
jg 0x10038568
mov edx, dword [ebp - 0x234]
jmp 0x1003841f
lea ecx, [ebp - 0x32c]
call fcn.10011816
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.10011816
mov dword [ebp - 0x30], 0x69f4288a
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x100385a2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10038598
mov dword [ebp - 0x1c], ebx
jmp 0x100385bd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf0], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100385ac
push 3
mov dword [ebp - 0x1c], ebx
pop edi
jmp 0x100385d7
cmp dword [ebp - 0x1c], edi
jl 0x100385ca