Function at 0x10047464
Capabilities:
Get thread local storage value

Disassembly:
mov eax, 0x10078f00
call fcn.10077c60
sub esp, 0x194
push ebx
push esi
xor esi, esi
mov byte [ebp - 0x3d], dl
inc esi
xor ebx, ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x30], 0xa3399244
push edi
mov dword [ebp - 0x14], 0x52a26f3f
mov edi, ecx
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x18], ebx
jmp 0x100474b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x110], 0x5605
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100474a1
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
setg cl
xor edx, edx
neg ecx
cmp ecx, 0xfffffffb
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 7
setne cl
xor eax, eax
cmp ecx, esi
setle al
cmp eax, 0xf4a41637
ja 0x100476bb
push dword [ebp + 8]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x60], ebx
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x5c], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x58], ebx
push ebx
lea ecx, [ebp - 0x60]
movdqu xmmword [ebp - 0x120], xmm0
call fcn.10027fe6
mov dword [ebp - 0x18], 0x80254f8
mov edx, 0xffff
mov dword [ebp - 0x2c], 0x3772679f
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x60]
add eax, 0xff56
neg eax
sbb eax, eax
neg eax
sub eax, dword [ecx + 8]
cmp edx, eax
sbb eax, eax
inc eax
cmp dword [ecx], eax
jg 0x1004756d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
cmp dword [eax], ebx
je 0x10047583
mov ecx, esi
cmp dword [eax + 4], ebx
jne 0x10047585
mov ecx, ebx
mov eax, dword [ebp - 0x30]
sub eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
cmp ecx, dword [eax]
jle 0x1004760b
mov dword [ebp - 0x2c], 0xbbd28a21
mov dword [ebp - 0x18], ebx
jmp 0x100475b9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x160], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100475ac
mov eax, dword [ebp - 0x60]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x60]
setle dl
mov dword [ebp - 0x24], edx
xor edx, edx
mov dword [ebp - 0x160], ecx
cmp dword [eax + 4], ebx
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x30]
setle cl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp dword [ebp - 0x24], edx
sete al
neg eax
mov dword [ebp - 0x2c], eax
jmp 0x100476ae
mov dword [ebp - 0x20], edx
xor ecx, ecx
mov dword [ebp - 0x3c], 0x9986219e
mov dword [ebp - 0x3c], 0x99b0bf19
mov eax, dword [ebp - 0x1c]
cmp eax, 0xece9
push 4
setl cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, 3
setne cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setne dl
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
dec ecx
add ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setle cl
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x30], eax
je 0x10047690
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10047692
mov eax, esi
mov dword [ebp - 0x18], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100476ae
push 0x950
push ebx
push 0x1131
call dword [sym.imp.GDI32.dll_Polyline]
lea ecx, [ebp - 0x60]
call fcn.10025e3f
jmp 0x10047741
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x14], ebx
jmp 0x1004773b
mov dword [ebp - 0x18], 0xd611
mov dword [ebp - 0x3c], 0xef5641e6
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x18], ebx
je 0x100476e3
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp eax, esi
setle cl
neg ecx
cmp ecx, 0xb16c6279
mov ecx, 0x3217
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffec
jg 0x100476c7
mov dword [ebp - 0x1c], ebx
jmp 0x10047757
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x110], 0xd2e0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10047746
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10008e80]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0x84], ebx
push eax
push ebx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x80], ebx
movdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x7c], ebx
call fcn.10027fe6
mov eax, dword [ebp - 0x84]
mov dword [eax], 6
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x3c], 0x78c38ec3
mov dword [ebp - 0x3c], 0xffffffff
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100477dd
push ebx
push ebx
push 0x1fe1
push 0xb72
push 0x46c
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
add eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x18]
cmp ecx, 0xa32f
mov ecx, dword [ebp - 0x18]
setle al
sub ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xa4e6
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
dec ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x84]
dec dword [eax]
cmp dword [eax], 2
jg 0x100477a2
lea ecx, [ebp - 0x84]
call fcn.10025e3f
mov dword [ebp - 0x2c], 0x5baf43b
mov dword [ebp - 0x20], 0x210ec320
cmp dword [ebp - 0x2c], ebx
je 0x10047888
mov dword [ebp - 0x18], ebx
jmp 0x10047867
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x140], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1004785a
dec dword [ebp - 0x13c]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100478ce
push 0x1bc7
call dword [sym.imp.GDI32.dll_GetStockObject]
jmp 0x100478ce
mov dword [ebp - 0x20], 0x21f9
mov eax, 0x7249aaed
mov dword [ebp - 0x104], eax
xor edx, edx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x2c], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setge dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [0x1007e62c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], 0xffffffff
push 3
mov dword [ebp - 0x3c], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
call fcn.10025ddd
mov dword [ebp - 4], ebx
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x38], 0x4638b1aa
mov dword [ebp - 0x18], ebx
jmp 0x10047930
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0xb4b13281
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004791d
mov dword [ebp - 0x1c], ebx
jmp 0x10047959
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10047956
push 0x204e
push ebx
push ebx
push 0x1070
call dword [sym.imp.USER32.dll_MessageBoxW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff5
jne 0x1004793b
dec dword [ebp - 0x28]
je 0x100479a6
mov edx, dword [ebp - 0x90]
cmp dword [edx + 4], ebx
je 0x100479a3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp dword [edx + 4], eax
setle cl
imul eax, ecx, 0xee24
cmp eax, dword [ebp - 0x28]
jg 0x10047988
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
xor edx, edx
inc edx
cmp dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x90]
jg 0x100479bb
mov eax, ebx
cmp dword [ecx + 4], ebx
je 0x100479bd
mov eax, edx
cmp eax, dword [ecx + 4]
jle 0x10047a3c
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x100479d8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 0x395cc9e5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100479ca
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100479f8
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jle 0x10047a12
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
cmp eax, 0x600ac80e
setg cl
mov dword [ebp - 0x1c], ecx
jmp 0x10047bb7
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x1c], 0xfffffff0
jmp 0x10047b22
mov dword [ebp - 0x18], ebx
jmp 0x10047a65
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], 0xe434
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10047a57
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10047b1f
mov dword [ebp - 0x20], 0x577c8a60
mov dword [ebp - 0x18], ebx
jmp 0x10047a97
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], 0xcf68
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10047a86
cmp dword [ebp - 0xd4], ebx
jne 0x10047ac3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x2c], ebx
jne 0x10047ad5
mov eax, ebx
cmp dword [ebp - 0xd4], ebx
je 0x10047ad7
mov eax, edx
xor ecx, ecx
cmp eax, 0xfff6
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0xfd73
jl 0x10047b09
cmp dword [ebp - 0x24], ebx
je 0x10047b09
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10047b0e
xor edx, edx
mov ecx, ebx
inc edx
mov eax, dword [ebp - 0x54]
add eax, ecx
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x14]
jns 0x10047a7a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x15
jl 0x10047a52
mov dword [ebp - 0x38], 0x3c03
cmp dword [ebp - 0x38], 0x3def
jle 0x10047b8b
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x19c]
or eax, edi
cdq
push edx
push eax
call fcn.1000a415
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10047b5c
mov eax, dword [eax]
push eax
call fcn.10060ec6
pop ecx
xor eax, eax
lea ecx, [ebp - 0x19c]
push ebx
inc eax
push eax
call fcn.100261aa
inc esi
cmp esi, 0x6943
jl 0x10047b40
inc edi
cmp edi, 0x350c
jl 0x10047b3e
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x44]
mov byte [ebp - 0xd], bl
cmp dword [ebp - 0x38], 0x3a8e
jge 0x10047ba2
push 0x100085bc
call fcn.10060ec6
pop ecx
cmp byte [ebp - 0xd], 0
je 0x10047bb7
push ebx
push ebx
push ebx
xor eax, eax
push ebx
inc eax
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.10025e3f
cmp byte [ebp - 0x3d], 0
je 0x10047dc1
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jne 0x10047dc1
mov dword [ebp - 0x14], 0xc68ec0ae
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x30], 0x2e63372
mov dword [ebp - 0x2c], 0x2a1dd6b9
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x34], 0xfffffff7
push eax
call fcn.10025ddd
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], ebx
jmp 0x10047c27
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 0xc2af
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10047c16
mov dword [ebp - 0x14], ebx
jmp 0x10047c41
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10047c32
mov dword [ebp - 0x14], 9
jmp 0x10047ccb
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x24], 0x9d684829
mov dword [ebp - 0x18], ebx
jmp 0x10047c6f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd0], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10047c62
mov dword [ebp - 0x28], ebx
jmp 0x10047cc2
mov dword [ebp - 0x38], 6
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xd0], ecx
mov dword [ebp - 0x24], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x10047c7a
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
jg 0x10047c4f
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x20], ebx
je 0x10047ce8
cmp dword [ebp - 0x2c], ebx
jne 0x10047ceb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x14], 0xed46
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
inc eax
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x9c]
je 0x10047d28
mov eax, edx
cmp dword [ebp - 0x2c], ebx
jne 0x10047d2a
mov eax, ebx
mov edx, dword [ebp - 0x30]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setne dl
xor eax, eax
test edx, edx
setns al
xor ecx, ecx
cmp eax, 0x75434bb1
mov eax, dword [ebp - 0xf4]
setge cl
add ecx, dword [eax]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xf4]
call fcn.10025e3f
mov dword [esi + 8], 4
mov dword [ebp - 0x18], ebx
jmp 0x10047d8e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178], 0x85f70ad6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10047d7d
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10047da4
push ebx
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10047dba
push ebx
push ebx
push 0xf68
call dword [sym.imp.USER32.dll_SetPropA]
mov dword [esi + 0xc], 0x1007e62c
xor esi, esi
inc esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], 0xdba33992
mov dword [ebp - 0x24], 0xe6da5043
mov dword [ebp - 0x24], 0x4bf90edc
mov dword [ebp - 0x38], 0x85c
mov dword [ebp - 0x18], ebx
jmp 0x10047dfa
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10047df7
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe4
jl 0x10047de8
dec dword [ebp - 0x38]
cmp edi, dword [ebp - 0x3c]
jge 0x100486ec
mov dword [ebp - 0x1c], 0xe83c773
mov dword [ebp - 0x34], 0x64de8cc1
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x1c], ebx
jmp 0x10048019
mov dword [ebp - 0x18], 0xb9dbea52
mov dword [ebp - 0x28], 0xbd77dfcc
mov dword [ebp - 0x34], ebx
jmp 0x10047e58
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x6c], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x10047e4a
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10047e6e
push ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x68], 0x26c7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, 0xe4f804f9
cmp ecx, eax
setne dl
xor ecx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
cmp eax, 0xae7b
setne cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
mov ecx, esi
cmove ecx, ebx
add eax, ecx
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x28]
jge 0x10047edb
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10048016
mov dword [ebp - 0x20], 0xb133
xor edx, edx
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
cmp edx, 0xd8ac507
setne cl
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp + eax*4 - 0x6c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x24], eax
setle cl
xor eax, eax
cmp ecx, 0xfff8
setne al
xor edx, edx
imul eax, dword [ebp - 0x20]
add eax, 0xc17f
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, 0xb774
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
imul eax, ecx
cmp eax, esi
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x30]
je 0x10047fa9
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp + eax*4 - 0x6c], 0x405a9ad1
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x405a9ad1
setl al
xor edx, edx
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x20]
je 0x10047fec
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x1004800a
mov eax, esi
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x14]
jns 0x10047ef2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jg 0x10047e37
mov dword [ebp - 0x14], 0x1824a8c6
mov esi, 0x1007e630
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x18], 0x6ba00b6f
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x34], 0x156b
mov dword [ebp - 0x20], ebx
jmp 0x10048061
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x184], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10048050
mov dword [ebp - 0x14], 0x17
jmp 0x1004807f
mov dword [ebp - 0x38], 0x4288a137
cmp dword [ebp - 0x38], ebx
jne 0x10048085
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jge 0x10048070
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
neg eax
je 0x10048092
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x18]
inc edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
add eax, ecx
jne 0x100480de
cmp dword [ebp - 0x24], ebx
jne 0x100480de
mov edx, ebx
jmp 0x100480e3
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0x2365
mov dword [ebp - 0x18], eax
test edi, edi
jle 0x10048349
mov eax, dword [esi]
lea ecx, [ebp - 0xa8]
push 4
mov dword [ebp - 0x2c], eax
call fcn.10025ddd
mov dword [ebp - 4], 3
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0x9898791b
mov dword [ebp - 0x20], ebx
jmp 0x1004813f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10048130
mov edi, dword [ebp - 0xa8]
cmp dword [edi + 4], ebx
je 0x10048182
mov dword [ebp - 0x24], 0xf2f4a8b1
mov dword [ebp - 0x24], 0x1328
mov dword [ebp - 0x20], ebx
jmp 0x10048174
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x16c], 0x6a9ef72d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10048163
dec dword [ebp - 0x24]
jmp 0x1004827d
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10008eb0]
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
mov dword [ebp - 0x24], 0x6717b38e
push eax
push ebx
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], ebx
movdqu xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
call fcn.10027fe6
mov dword [ebp - 0x20], ebx
jmp 0x100481d7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100481cd
cmp dword [ebp - 0x4c], ebx
jne 0x100481ea
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
je 0x100481f4
mov eax, dword [ebp - 0xa8]
cmp dword [eax], ebx
jne 0x10048200
cmp dword [ebp - 0x28], ebx
jne 0x10048200
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x10048205
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x48]
je 0x10048216
mov eax, dword [ebp - 0xa8]
cmp dword [eax], ebx
jne 0x10048216
mov ecx, ebx
xor eax, eax
test ecx, ecx
sete al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x4c]
sub eax, dword [edi + 4]
mov ecx, dword [ebp - 0x24]
imul ecx, eax
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0xa8]
setge dl
sub edx, dword [eax + 8]
mov eax, dword [ebp - 0x28]
neg edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sbb edx, edx
mov eax, dword [ebp - 0x4c]
inc edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov dword [edi + 4], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xc4]
setle dl
mov dword [eax + 8], edx
call fcn.10025e3f
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
sub edx, 0xdc1b2d86
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
imul ecx, dword [edi + 4]
neg ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
inc ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov edx, dword [edi + 4]
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0xa8]
setg al
sub eax, edx
neg eax
sbb eax, eax
or dword [ebp - 4], 0xffffffff
inc eax
mov dword [edi + 4], eax
call fcn.10025e3f
mov eax, dword [esi + 4]
add esi, 8
test eax, eax
jne 0x100482df
add esi, 8
mov dword [ebp - 0x38], 0xfffffffa
xor edx, edx
mov dword [ebp - 0x24], ebx
inc edx
mov dword [ebp - 0x24], 0x8f90a3cf
mov dword [ebp - 0x24], 0x3f23e93d
mov dword [ebp - 0x20], ebx
jmp 0x10048310
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x108], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100482ff
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x24], ecx
imul eax, dword [ebp - 0x24], 0xfffa
mov dword [ebp - 0x24], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004833d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
add esi, dword [ebp - 0x2c]
dec dword [ebp - 0x44]
jne 0x100480fe
mov edi, dword [esi]
mov dword [ebp - 0x14], 0x64f6cbcb
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x44], 0x3c3fa3c
mov dword [ebp - 0x24], 0xffffffff
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
mov dword [ebp - 0x2c], edi
je 0x100483ac
push ebx
push 0x2539
push 0x234f
push 0x1412
push 0x218e
push 0x92e
push 0xb1
push 0x2167
push 0xed1
push 0x3cd
push 0x2c
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [ebp - 0x28]
add ecx, 0x5f84255e
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add eax, 0x6284
add eax, ecx
je 0x100483d5
cmp dword [ebp - 0x14], ebx
je 0x100483d5
xor eax, eax
lea ecx, [eax + 1]
jmp 0x100483d7
mov ecx, ebx
mov eax, dword [ebp - 0x28]
add eax, ecx
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x14]
jl 0x10048410
cmp dword [ebp - 0x28], ebx
je 0x10048413
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
sub ecx, 0x6313861a
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
add ecx, 0xfffffffc
cmp ecx, 0xe00457a2
lea ecx, [ebp - 0xe8]
setne al
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
xor eax, eax
inc eax
mov dword [ebp - 0x30], 0xa61928c1
mov dword [ebp - 0x44], 0xcfe0
push eax
call fcn.10025ddd
push 2
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], 4
call fcn.10025ddd
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1004849a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0x18bd8502
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10048487
mov dword [ebp - 0x14], ebx
jmp 0x100484b7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100484a4
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0xffffffec
jl 0x10048601
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 0x2bd68e48
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax], edx
mov dword [ebp - 0x1c], 0xedca8feb
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
sub edx, ecx
add edx, 9
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x30]
jle 0x10048520
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 4], ebx
je 0x10048520
xor edi, edi
lea eax, [edi + 1]
jmp 0x10048522
mov eax, ebx
cmp dword [ebp - 0x44], eax
jge 0x100485e4
mov dword [ebp - 0x24], 0xc7fd579
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x30], ebx
jne 0x100485b9
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0xe8]
setl dl
sub edx, dword [eax]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x28], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xfffffff7
setg dl
xor ecx, ecx
test eax, eax
setg cl
xor eax, eax
cmp ecx, edx
setle al
xor ecx, ecx
cmp eax, 0xb681
setne cl
sub ecx, dword [ebp - 0x1c]
jne 0x100485b9
xor edx, edx
mov eax, ebx
inc edx
jmp 0x100485be
xor edx, edx
inc edx
mov eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x100485f1
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100485dd
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
dec dword [ebp - 0x1c]
jns 0x100485c9
jmp 0x100485ee
mov dword [ebp - 0x24], 0xfffc
dec dword [ebp - 0x24]
xor edx, edx
inc edx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffec
jge 0x100484ca
mov edi, dword [ebp - 0x2c]
lea ecx, [ebp - 0xb4]
call fcn.10025e3f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.10025e3f
mov eax, dword [esi + 4]
test eax, eax
jne 0x100486ec
cmp byte [ebp - 0x3d], al
je 0x1004863a
inc eax
cmp dword [ebp - 0x3c], eax
jne 0x1004863a
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], esi
call fcn.1005c49c
pop ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], ebx
push eax
push edi
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call fcn.1004cbd9
mov ecx, ebx
test edi, edi
jle 0x100486d1
mov eax, ecx
and eax, 0x80000001
jns 0x10048689
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x54]
add eax, ecx
add eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x3c]
cdq
idiv edi
mov eax, dword [ebp - 0x78]
cmp word [eax + edx*2], bx
je 0x100486b9
mov esi, eax
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x100486a7
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x78]
xor ebx, ebx
inc ebx
mov word [eax + edx*2], bx
mov al, byte [edx + esi]
mov edx, dword [ebp - 0x24]
push 0
pop ebx
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1004867b
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esi], edi
test eax, eax
je 0x100486ef
push eax
call fcn.100613bd
pop ecx
jmp 0x100486ef
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret