Function at 0x100159d0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007c073
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x848
push esi
push edi
xor edi, edi
mov dword [ebp - 0x20], edi
push 0x28
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x138], edi
call fcn.100796ae
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], edi
mov byte [ebp - 4], 1
push 0x40
mov dword [ebp - 0x128], 7
mov dword [ebp - 0x124], 8
mov dword [ebp - 0x140], 0x3f800000
call fcn.100796ae
mov ecx, dword [ebp - 0x134]
mov esi, eax
mov eax, dword [ebp - 0x12c]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x10015aba
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10015ab0
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push edx
push ecx
call fcn.10079a4d
add esp, 8
lea ecx, [esi + 0x40]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], ecx
cmp esi, ecx
je 0x10015adf
mov eax, dword [ebp - 0x1c]
mov dword [esi], eax
add esi, 4
cmp esi, ecx
jne 0x10015ad6
mov dword [ebp - 4], 2
push 0x5c
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
call fcn.100796ae
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov byte [ebp - 4], 4
push 0x40
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x94], 8
mov dword [ebp - 0xb0], 0x3f800000
call fcn.100796ae
mov ecx, dword [ebp - 0xa4]
mov esi, eax
mov eax, dword [ebp - 0x9c]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x10015bac
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10015ba2
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push edx
push ecx
call fcn.10079a4d
add esp, 8
lea ecx, [esi + 0x40]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
cmp esi, ecx
je 0x10015bd1
mov eax, dword [ebp - 0x1c]
mov dword [esi], eax
add esi, 4
cmp esi, ecx
jne 0x10015bc8
mov byte [ebp - 4], 5
push 0x38
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
call fcn.100796ae
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 7
push 0x40
mov dword [ebp - 0xf0], 7
mov dword [ebp - 0xec], 8
mov dword [ebp - 0x108], 0x3f800000
call fcn.100796ae
mov ecx, dword [ebp - 0xfc]
mov esi, eax
mov eax, dword [ebp - 0xf4]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x10015c9d
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10015c93
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10015c93
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10079a4d
add esp, 8
lea ecx, [esi + 0x40]
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], ecx
cmp esi, ecx
je 0x10015cc9
mov eax, dword [ebp - 0x1c]
nop dword [eax]
mov dword [esi], eax
add esi, 4
cmp esi, ecx
jne 0x10015cc0
lea ecx, [ebp - 0x280]
call fcn.100149a0
push 0
push str..csgo_scriptsitemsitems_game.txt
mov byte [ebp - 4], 9
call fcn.10014ed0
or esi, 0xffffffff
test al, al
je 0x100176ef
lea ecx, [ebp - 0x858]
call fcn.100149a0
push 1
push str..csgo_resourcecsgo_english.txt
mov byte [ebp - 4], 0xa
call fcn.10014ed0
test al, al
je 0x100176b8
push ecx
push str.weapon_icons
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x280]
call fcn.10014a50
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x1001768f
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x1001768f
push ecx
push str.paint_kits_rarity
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x280]
call fcn.10014c50
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x5c]
je 0x10017635
push ecx
push str.paint_kits
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x280]
call fcn.10014c50
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x50]
je 0x100175de
push ecx
push str.Tokens
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x858]
call fcn.10014a50
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x100175b2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100175b2
push str.deagle
lea ecx, [ebp - 0x820]
call fcn.1000bfd0
push str.elite
lea ecx, [ebp - 0x808]
mov byte [ebp - 4], 0xf
call fcn.1000bfd0
push str.fiveseven
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0x10
call fcn.1000bfd0
push str.glock
lea ecx, [ebp - 0x7d8]
mov byte [ebp - 4], 0x11
call fcn.1000bfd0
push str.ak47
lea ecx, [ebp - 0x7c0]
mov byte [ebp - 4], 0x12
call fcn.1000bfd0
push 0x10081468
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 4], 0x13
call fcn.1000bfd0
push 0x10081494
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 0x14
call fcn.1000bfd0
push str.famas
lea ecx, [ebp - 0x778]
mov byte [ebp - 4], 0x15
call fcn.1000bfd0
push str.g3sg1
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 0x16
call fcn.1000bfd0
mov eax, dword [str.galilar]
xorps xmm0, xmm0
movups xmmword [ebp - 0x748], xmm0
mov dword [ebp - 0x748], eax
movzx eax, word [0x10081a90]
mov word [ebp - 0x744], ax
mov al, byte [0x10081a92]
mov dword [ebp - 0x738], 7
mov dword [ebp - 0x734], 0xf
mov byte [ebp - 0x742], al
mov byte [ebp - 0x741], 0
movups xmmword [ebp - 0x730], xmm0
mov dword [ebp - 0x720], 4
mov dword [ebp - 0x71c], 0xf
mov dword [ebp - 0x730], 0x3934326d
mov byte [ebp - 0x72c], 0
mov eax, dword [0x10081a9c]
movups xmmword [ebp - 0x718], xmm0
mov dword [ebp - 0x710], eax
movq xmm0, qword [str.m4a1_silencer]
mov al, byte [0x10081aa0]
mov dword [ebp - 0x708], 0xd
mov dword [ebp - 0x704], 0xf
movq qword [ebp - 0x718], xmm0
mov byte [ebp - 0x70c], al
mov byte [ebp - 0x70b], 0
xorps xmm0, xmm0
mov dword [ebp - 0x6f0], 4
movups xmmword [ebp - 0x700], xmm0
mov dword [ebp - 0x6ec], 0xf
mov dword [ebp - 0x700], 0x3161346d
mov byte [ebp - 0x6fc], 0
movups xmmword [ebp - 0x6e8], xmm0
mov eax, dword [str.mac10]
mov dword [ebp - 0x6e8], eax
mov al, byte [0x10081ab0]
mov dword [ebp - 0x6d8], 5
mov dword [ebp - 0x6d4], 0xf
mov byte [ebp - 0x6e4], al
mov byte [ebp - 0x6e3], 0
movzx eax, word [0x10081440]
movups xmmword [ebp - 0x6d0], xmm0
mov word [ebp - 0x6d0], ax
mov al, byte [0x10081442]
mov dword [ebp - 0x6c0], 3
mov dword [ebp - 0x6bc], 0xf
mov byte [ebp - 0x6ce], al
mov byte [ebp - 0x6cd], 0
mov eax, dword [str.ump45]
movups xmmword [ebp - 0x6b8], xmm0
mov dword [ebp - 0x6b8], eax
mov al, byte [0x10081ab8]
mov dword [ebp - 0x6a8], 5
mov dword [ebp - 0x6a4], 0xf
mov byte [ebp - 0x6b4], al
mov byte [ebp - 0x6b3], 0
mov eax, dword [str.xm1014]
movups xmmword [ebp - 0x6a0], xmm0
mov dword [ebp - 0x6a0], eax
movzx eax, word [0x100814d0]
mov dword [ebp - 0x690], 6
mov dword [ebp - 0x68c], 0xf
mov word [ebp - 0x69c], ax
mov byte [ebp - 0x69a], 0
mov eax, dword [str.bizon]
movups xmmword [ebp - 0x688], xmm0
mov dword [ebp - 0x688], eax
mov al, byte [0x10081ac0]
mov dword [ebp - 0x678], 5
mov dword [ebp - 0x674], 0xf
mov byte [ebp - 0x684], al
mov byte [ebp - 0x683], 0
movups xmmword [ebp - 0x670], xmm0
mov dword [ebp - 0x660], 4
mov dword [ebp - 0x65c], 0xf
mov dword [ebp - 0x670], 0x3767616d
mov byte [ebp - 0x66c], 0
mov eax, dword [str.negev]
movups xmmword [ebp - 0x658], xmm0
mov dword [ebp - 0x658], eax
mov al, byte [0x100814ac]
mov dword [ebp - 0x648], 5
mov dword [ebp - 0x644], 0xf
mov byte [ebp - 0x654], al
mov byte [ebp - 0x653], 0
movups xmmword [ebp - 0x640], xmm0
mov dword [ebp - 0x630], 8
mov dword [ebp - 0x62c], 0xf
mov dword [ebp - 0x640], 0x65776173
mov dword [ebp - 0x63c], 0x66666f64
mov byte [ebp - 0x638], 0
movups xmmword [ebp - 0x628], xmm0
mov dword [ebp - 0x618], 4
mov dword [ebp - 0x614], 0xf
mov dword [ebp - 0x628], 0x39636574
mov byte [ebp - 0x624], 0
mov eax, dword [str.hkp2000]
movups xmmword [ebp - 0x610], xmm0
mov dword [ebp - 0x610], eax
movzx eax, word [0x10081ae4]
mov word [ebp - 0x60c], ax
mov al, byte [0x10081ae6]
mov dword [ebp - 0x600], 7
mov dword [ebp - 0x5fc], 0xf
mov byte [ebp - 0x60a], al
mov byte [ebp - 0x609], 0
mov eax, dword [str.mp5sd]
movups xmmword [ebp - 0x5f8], xmm0
mov dword [ebp - 0x5f8], eax
mov al, byte [0x10081aec]
mov dword [ebp - 0x5e8], 5
mov dword [ebp - 0x5e4], 0xf
mov byte [ebp - 0x5f4], al
mov byte [ebp - 0x5f3], 0
movzx eax, word [0x10081434]
movups xmmword [ebp - 0x5e0], xmm0
mov word [ebp - 0x5e0], ax
mov al, byte [0x10081436]
mov dword [ebp - 0x5d0], 3
mov dword [ebp - 0x5cc], 0xf
mov byte [ebp - 0x5de], al
mov byte [ebp - 0x5dd], 0
push 0x10081420
lea ecx, [ebp - 0x5c8]
mov byte [ebp - 4], 0x27
call fcn.1000bfd0
push str.nova
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 4], 0x28
call fcn.1000bfd0
push str.p250
lea ecx, [ebp - 0x598]
mov byte [ebp - 4], 0x29
call fcn.1000bfd0
push str.scar20
lea ecx, [ebp - 0x580]
mov byte [ebp - 4], 0x2a
call fcn.1000bfd0
push str.sg556
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0x2b
call fcn.1000bfd0
push str.ssg08
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 0x2c
call fcn.1000bfd0
push str.usp_silencer
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x2d
call fcn.1000bfd0
push str.cz75a
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x2e
call fcn.1000bfd0
push str.revolver
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0x2f
call fcn.1000bfd0
push str.knife_m9_bayonet
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0x30
call fcn.1000bfd0
push str.bayonet
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x31
call fcn.1000bfd0
push str.knife_flip
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0x32
call fcn.1000bfd0
mov byte [ebp - 4], 0x33
push str.knife_gut
lea ecx, [ebp - 0x4a8]
call fcn.1000bfd0
push str.knife_css
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x34
call fcn.1000bfd0
push str.knife_cord
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x35
call fcn.1000bfd0
push str.knife_canis
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x36
call fcn.1000bfd0
push str.knife_karambit
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x37
call fcn.1000bfd0
push str.knife_tactical
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x38
call fcn.1000bfd0
push str.knife_outdoor
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x39
call fcn.1000bfd0
push str.knife_skeleton
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x3a
call fcn.1000bfd0
push str.knife_falchion
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x3b
call fcn.1000bfd0
push str.knife_survival_bowie
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x3c
call fcn.1000bfd0
push str.knife_butterfly
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x3d
call fcn.1000bfd0
push str.knife_push
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0x3e
call fcn.1000bfd0
push str.knife_ursus
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x3f
call fcn.1000bfd0
push str.knife_gypsy_jackknife
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x40
call fcn.1000bfd0
push str.knife_stiletto
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x41
call fcn.1000bfd0
push str.knife_widowmaker
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x42
call fcn.1000bfd0
mov byte [ebp - 4], 0x43
push str.studded_bloodhound_gloves
lea ecx, [ebp - 0x328]
call fcn.1000bfd0
push str.sporty_gloves
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x44
call fcn.1000bfd0
push str.slick_gloves
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x45
call fcn.1000bfd0
push str.leather_handwraps
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x46
call fcn.1000bfd0
push str.motorcycle_gloves
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x47
call fcn.1000bfd0
push str.specialist_gloves
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x48
call fcn.1000bfd0
push str.studded_hydra_gloves
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x49
call fcn.1000bfd0
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x168]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10016758
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10016749
lea eax, [ebp - 0x820]
mov dword [ebp - 0x14], eax
nop dword [eax + eax]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.icon_path
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, eax
call fcn.1001b530
mov byte [ebp - 4], 0x4b
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x120]
push ecx
lea ecx, [eax + 0x1c]
call fcn.100144c0
mov byte [ebp - 4], 0x4d
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x10016567
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10016567
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10016567
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x10016574
mov edx, dword [esi]
cmp dword [ebp - 0x10c], 0x10
lea ecx, [ebp - 0x120]
push dword [esi + 0x10]
mov eax, dword [ebp - 0x120]
setae byte [ebp - 0x15]
push edx
mov edx, dword [ebp - 0x110]
cmovae ecx, eax
push ecx
mov dword [ebp - 0x14], eax
call fcn.10018b90
add esp, 0xc
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
jne 0x1001660a
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x4a
je 0x100165ee
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x14]
inc ecx
mov edx, eax
cmp ecx, 0x1000
jb 0x100165e4
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x14], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x10015c8d
mov eax, dword [ebp - 0x14]
push ecx
push eax
call fcn.10079a4d
add esp, 8
add esi, 0x18
lea eax, [ebp - 0x280]
mov dword [ebp - 0x14], esi
cmp esi, eax
mov esi, dword [ebp - 0x24]
jne 0x10016500
jmp 0x10016746
cmp byte [ebp - 0x15], 0
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0x110]
cmovne edx, dword [ebp - 0x14]
test eax, eax
je 0x10016643
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5f
je 0x1001663c
cmp ecx, edx
je 0x10016643
dec ecx
cmp byte [ecx], 0x5f
jne 0x10016632
sub ecx, edx
mov dword [ebp - 0x14], ecx
jmp 0x1001664a
mov dword [ebp - 0x14], 0xffffffff
push esi
lea ecx, [ebp - 0x140]
call fcn.10017b40
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x14]
sub esi, ecx
mov dword [ebp - 0x30], eax
sub esi, dword [ebp - 0x1c]
inc ecx
add ecx, dword [ebp - 0x1c]
dec esi
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x48], xmm0
cmp eax, ecx
jb 0x10017759
sub eax, ecx
cmp eax, esi
cmovb esi, eax
cmp dword [ebp - 0x10c], 0x10
lea eax, [ebp - 0x120]
cmovae eax, dword [ebp - 0x120]
add eax, ecx
lea ecx, [ebp - 0x48]
push esi
push eax
call fcn.1000c0a0
or edi, 8
mov dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1b4]
mov byte [ebp - 4], 0x4e
push eax
call fcn.10018460
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x10016708
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100166fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x10c]
cmp ecx, 0x10
jb 0x10016746
mov edx, dword [ebp - 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001673c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov esi, dword [ebp - 0x24]
add esi, 8
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp - 0x28]
jne 0x100164e1
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10016bef
nop dword [eax]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10016be0
mov eax, dword [esi]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], eax
cmp esi, eax
je 0x10016bdd
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10016bce
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0xffffffff
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x19c], 0
movups xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov byte [ebp - 4], 0x4f
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
lea ecx, [eax + 0x14]
call fcn.100147a0
mov dword [ebp - 0x1a0], eax
test eax, eax
jne 0x10016836
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0x4a
call fcn.100177d0
jmp 0x10016bce
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.name
lea ecx, [ebp - 0x1b4]
push ecx
mov ecx, eax
call fcn.1001b530
mov byte [ebp - 4], 0x50
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x1c]
call fcn.100144c0
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x1b0]
test esi, esi
je 0x1001689a
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x1001689a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1001689a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x48]
push dword [ebp - 0x38]
cmovae eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x180]
push eax
call fcn.10018160
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.description_tag
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, eax
call fcn.1001b530
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x10016a61
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x90]
push ecx
lea ecx, [eax + 0x1c]
call fcn.100144c0
mov byte [ebp - 4], 0x54
xorps xmm0, xmm0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
movups xmmword [ebp - 0xe0], xmm0
cmp eax, 1
jb 0x10017759
dec eax
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x7c], 0x10
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
push ecx
inc eax
lea ecx, [ebp - 0xe0]
push eax
call fcn.1000c0a0
lea eax, [ebp - 0xe0]
or edi, 4
push eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x20], edi
call fcn.10017e00
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0x10
jb 0x100169a4
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001699a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
cmp dword [ebp - 0x7c], 0x10
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0x80]
lea esi, [ebp - 0x90]
cmovae ecx, dword [ebp - 0x90]
setae al
test al, al
je 0x100169d1
mov eax, dword [ebp - 0x90]
mov esi, eax
add eax, edx
jmp 0x100169da
lea eax, [esi + edx]
lea esi, [ebp - 0x90]
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x10016a08
sub ecx, esi
mov dword [ebp - 0x28], ecx
mov edi, ecx
movsx ax, byte [esi]
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x1c]
jne 0x100169e8
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x80]
cmp dword [ebp - 0x7c], 0x10
lea eax, [ebp - 0x90]
push edx
cmovae eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x198]
push eax
call fcn.10018160
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x10016a61
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10016a57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 0x10081b48
lea ecx, [ebp - 0x1ac]
push ecx
mov ecx, eax
call fcn.1001b530
mov byte [ebp - 4], 0x55
mov ecx, dword [ebp - 0x1ac]
test ecx, ecx
je 0x10016aa3
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [eax + 0x1c]
call fcn.100147a0
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
mov ecx, dword [ebp - 0x1a0]
mov esi, eax
mov eax, dword [ebp - 0x1a4]
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x19c]
mov dword [esi], eax
lea eax, [ebp - 0x198]
mov dword [esi + 8], ecx
lea ecx, [esi + 0xc]
cmp ecx, eax
je 0x10016af5
cmp dword [ebp - 0x184], 0x10
push dword [ebp - 0x188]
cmovae eax, dword [ebp - 0x198]
push eax
call fcn.10018160
lea ecx, [esi + 0x24]
lea eax, [ebp - 0x180]
cmp ecx, eax
je 0x10016b1c
cmp dword [ebp - 0x16c], 0x10
push dword [ebp - 0x170]
cmovae eax, dword [ebp - 0x180]
push eax
call fcn.10018160
mov esi, dword [ebp - 0x1a8]
test esi, esi
je 0x10016b47
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10016b47
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10016b47
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x10016b72
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10016b72
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10016b72
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x4f
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x10016baa
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10016ba0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov byte [ebp - 4], 0x4a
call fcn.100177d0
mov esi, dword [ebp - 0x14]
add esi, 8
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp - 0x30]
jne 0x10016797
mov esi, dword [ebp - 0x24]
add esi, 8
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp - 0x2c]
jne 0x10016770
mov ecx, dword [ebp - 0x160]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], ecx
cmp eax, ecx
je 0x10016e27
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10016e15
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xc8]
push ecx
lea ecx, [eax + 0x14]
call fcn.100144c0
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
lea esi, [ebp - 0xc8]
mov edi, dword [ebp - 0xc8]
cmp edx, 0x10
setae al
cmovae ecx, edi
test al, al
mov eax, dword [ebp - 0xb8]
je 0x10016c71
mov esi, edi
add eax, edi
jmp 0x10016c79
add eax, esi
lea esi, [ebp - 0xc8]
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x10016cad
sub ecx, esi
mov dword [ebp - 0x2c], ecx
mov edi, ecx
movsx ax, byte [esi]
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x1c]
jne 0x10016c87
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb8]
lea ecx, [ebp - 0xc8]
cmp edx, 0x10
mov edx, esi
push 8
cmovae ecx, edi
setae byte [ebp - 0x15]
push str.paintkit
push ecx
call fcn.10018b90
add esp, 0xc
cmp eax, 0xffffffff
je 0x10016ddb
cmp byte [ebp - 0x15], 0
lea ecx, [ebp - 0xc8]
cmovne ecx, edi
mov dword [ebp - 0x2c], ecx
cmp esi, 3
jb 0x10016ddb
add esi, ecx
lea eax, [esi - 2]
sub eax, ecx
push eax
push 0x74
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
je 0x10016ddb
movzx ecx, byte [edx]
cmp cl, 0x74
jne 0x10016d30
movzx eax, byte [edx + 1]
cmp al, 0x61
jne 0x10016d30
movzx eax, byte [edx + 2]
cmp al, 0x67
jne 0x10016d30
xor eax, eax
jmp 0x10016d35
sbb eax, eax
or eax, 1
test eax, eax
je 0x10016d56
inc edx
lea eax, [esi - 2]
sub eax, edx
push eax
push 0x74
push edx
call sub.VCRUNTIME140.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x10016d14
jmp 0x10016ddb
sub edx, dword [ebp - 0x2c]
cmp edx, 0xffffffff
je 0x10016ddb
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [eax + 0x1c]
call fcn.100144c0
push eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [ebp - 0x108]
call fcn.10017a30
mov ecx, eax
call fcn.10017e00
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp - 0x144]
cmp ecx, 0x10
jb 0x10016dd5
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10016dcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov edi, dword [ebp - 0xc8]
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xb4]
cmp eax, 0x10
jb 0x10016e15
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x10016e0b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edi
call fcn.10079a4d
add esp, 8
mov eax, dword [ebp - 0x14]
add eax, 8
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jne 0x10016c10
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10016f77
nop dword [eax + eax]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10016f68
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
cmp edi, eax
je 0x10016f68
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10016f59
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [eax + 0x14]
call fcn.100144c0
mov byte [ebp - 4], 0x58
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [eax + 0x1c]
call fcn.100144c0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
sub esp, 0x18
mov esi, eax
lea eax, [ebp - 0x158]
mov ecx, esp
push eax
call fcn.10017e80
call fcn.100155a0
mov byte [ebp - 4], 0x58
add esp, 0x18
mov ecx, dword [ebp - 0x144]
mov dword [esi + 8], eax
cmp ecx, 0x10
jb 0x10016f1b
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10016f11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0x10
jb 0x10016f59
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10016f4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
add edi, 8
cmp edi, dword [ebp - 0x2c]
jne 0x10016e64
mov esi, dword [ebp - 0x1c]
add esi, 8
mov dword [ebp - 0x1c], esi
cmp esi, dword [ebp - 0x28]
jne 0x10016e40
lea edi, [ebp - 0x820]
mov dword [ebp - 0x1c], edi
push edi
lea ecx, [ebp - 0x158]
call fcn.10017e80
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [ebp - 0x140]
call fcn.10017b40
mov esi, dword [eax]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x1001753d
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x78]
call fcn.10017e80
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
xorps xmm0, xmm0
cmp dword [eax + 4], 0x2710
jge 0x10017308
movups xmmword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1e8], 0
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1e4], 0xf
mov byte [ebp - 0x1f8], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
lea ecx, [ebp - 0x1c8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x158]
push eax
push 0
call fcn.10019b90
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
push dword [ebp - 0x68]
cmovae eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x1e0]
push eax
call fcn.10018160
cmp dword [ebp - 0x64], 0x10
lea ecx, [ebp - 0x78]
cmovae ecx, dword [ebp - 0x78]
cmp dword [ebp - 0x68], 0x11
jne 0x1001713b
mov edx, str.cu_m4a4_ancestral
mov edi, 0xd
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100170c1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100170b0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100170e8
cmp edi, 0xfffffffd
je 0x100170e4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100170e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100170e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100170e8
xor eax, eax
jmp 0x100170ed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1001713b
mov ax, word [0x10081b78]
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x40], ax
movq xmm0, qword [str.Dragon_King]
mov al, byte [0x10081b7a]
mov dword [ebp - 0x38], 0xb
mov dword [ebp - 0x34], 0xf
movq qword [ebp - 0x48], xmm0
mov byte [ebp - 0x3e], al
mov byte [ebp - 0x3d], 0
mov byte [ebp - 4], 0x5d
lea edi, [ebp - 0x48]
mov eax, dword [ebp - 0x20]
or eax, 1
mov dword [ebp - 0x20], eax
jmp 0x1001717a
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
add eax, 0xc
lea ecx, [ebp - 0x108]
push eax
call fcn.10017a30
push eax
lea ecx, [ebp - 0xe0]
call fcn.10017e80
mov edi, eax
lea ecx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x20]
or eax, 2
mov dword [ebp - 0x20], eax
cmp ecx, edi
je 0x100171df
mov ecx, dword [ebp - 0x1e4]
cmp ecx, 0x10
jb 0x100171b4
mov edx, dword [ebp - 0x1f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100171aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
movups xmm0, xmmword [edi]
mov eax, dword [ebp - 0x20]
movups xmmword [ebp - 0x1f8], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x1e8], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test al, 2
je 0x10017241
mov ecx, dword [ebp - 0xcc]
and eax, 0xfffffffd
mov dword [ebp - 0x20], eax
cmp ecx, 0x10
jb 0x10017226
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017219
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
mov eax, dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
mov dword [ebp - 4], 0x5c
test al, 1
je 0x10017286
mov ecx, dword [ebp - 0x34]
and eax, 0xfffffffe
mov dword [ebp - 0x20], eax
cmp ecx, 0x10
jb 0x10017286
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001727c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
lea ecx, [ebp - 0xb0]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x78]
push eax
call fcn.10017b00
add eax, 0xc
lea ecx, [ebp - 0x108]
push eax
call fcn.10017a30
cmp dword [eax + 0x10], 0
je 0x100172fd
mov eax, dword [0x10146ea8]
lea ecx, [ebp - 0x200]
push ecx
cmp eax, dword [0x10146eac]
je 0x100172f2
mov edx, eax
call fcn.1001a060
add esp, 4
lea ecx, [ebp - 0x200]
add dword [0x10146ea8], 0x44
jmp 0x10017444
push eax
mov ecx, 0x10146ea4
call fcn.10019560
lea ecx, [ebp - 0x200]
jmp 0x10017444
movups xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x230], 0
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
lea ecx, [ebp - 0x210]
mov eax, dword [eax + 4]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x158]
push eax
push 0
call fcn.10019b90
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
push dword [ebp - 0x68]
cmovae eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x228]
push eax
call fcn.10018160
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
add eax, 0xc
lea ecx, [ebp - 0x108]
push eax
call fcn.10017a30
lea ecx, [ebp - 0x240]
cmp ecx, eax
je 0x100173f4
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100173e7
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x240]
call fcn.10018160
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10017b00
lea ecx, [ebp - 0x248]
push ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x244], eax
mov eax, dword [0x10146e9c]
cmp eax, dword [0x10146ea0]
je 0x10017433
mov edx, eax
call fcn.1001a060
add esp, 4
add dword [0x10146e9c], 0x44
jmp 0x1001743e
push eax
mov ecx, 0x10146e98
call fcn.10019560
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x5b
call fcn.10017860
mov ecx, dword [0x10146e9c]
mov eax, 0x78787879
sub ecx, dword [0x10146e98]
imul ecx
mov ecx, dword [0x10146e98]
sar edx, 5
mov eax, edx
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10146e9c]
push eax
call fcn.10019eb0
mov ecx, dword [0x10146ea8]
mov eax, 0x78787879
sub ecx, dword [0x10146ea4]
imul ecx
mov ecx, dword [0x10146ea4]
sar edx, 5
mov eax, edx
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10146ea8]
push eax
call fcn.10019eb0
mov byte [ebp - 4], 0x5a
add esp, 0x10
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x100174f4
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100174ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x1001751a
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10017516
cmp esi, dword [eax + 8]
jne 0x10017516
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10017506
mov esi, eax
jmp 0x10017530
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x10017530
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10017524
cmp byte [esi + 0xd], 0
je 0x10016fb0
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x144]
cmp ecx, 0x10
jb 0x1001757b
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017571
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015c8d
push ecx
push edx
call fcn.10079a4d
add esp, 8
add edi, 0x18
lea eax, [ebp - 0x280]
mov dword [ebp - 0x1c], edi
cmp edi, eax
jne 0x10016f80
mov byte [0x1012569a], 1
push fcn.1000bf80
push 0x3c
push 0x18
lea eax, [ebp - 0x820]
mov byte [ebp - 4], 0x5f
push eax
call fcn.10079b5e
or esi, 0xffffffff
mov edi, dword [ebp - 0x15c]
test edi, edi
je 0x100175db
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x100175db
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x100175db
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x10017632
mov edx, dword [ebp - 0x50]
push ecx
call fcn.10018d30
mov ecx, dword [ebp - 0x4c]
add esp, 4
mov edx, dword [ebp - 0x54]
sub ecx, edx
and ecx, 0xfffffff8
mov eax, edx
cmp ecx, 0x1000
jb 0x10017613
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001766a
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x1001768f
mov edx, dword [ebp - 0x5c]
push ecx
call fcn.10018d30
mov ecx, dword [ebp - 0x58]
add esp, 4
mov edx, dword [ebp - 0x60]
sub ecx, edx
and ecx, 0xfffffff8
mov eax, edx
cmp ecx, 0x1000
jb 0x10017670
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10017670
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10079a4d
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov edi, dword [ebp - 0x164]
test edi, edi
je 0x100176b8
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x100176b8
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x100176b8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x830]
call fcn.10079ce7
mov edi, dword [ebp - 0x824]
add esp, 4
test edi, edi
je 0x100176ef
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x100176ef
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x100176ef
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x258]
call fcn.10079ce7
mov edi, dword [ebp - 0x24c]
add esp, 4
test edi, edi
je 0x10017725
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10017725
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x10017725
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x108]
call fcn.100179d0
lea ecx, [ebp - 0xb0]
call fcn.10017960
lea ecx, [ebp - 0x140]
call fcn.10017900
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10018450
int3