Function at 0x10026af0
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dfa2a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x848
push esi
mov dword [ebp - 0x1c], 0
push edi
push 0x28
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
call fcn.100dbf73
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
push eax
push 0x10
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1ec], 7
mov dword [ebp - 0x1e8], 8
mov dword [ebp - 0x204], 0x3f800000
call fcn.10025010
push 0x5c
mov dword [ebp - 4], 2
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
call fcn.100dbf73
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
push eax
push 0x10
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 4
mov dword [ebp - 0xb8], 7
mov dword [ebp - 0xb4], 8
mov dword [ebp - 0xd0], 0x3f800000
call fcn.10025010
push 0x38
mov byte [ebp - 4], 5
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0
call fcn.100dbf73
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
push eax
push 0x10
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 7
mov dword [ebp - 0x158], 7
mov dword [ebp - 0x154], 8
mov dword [ebp - 0x170], 0x3f800000
call fcn.10025010
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x108], 0x100e6254
mov dword [ebp - 0x104], 3
mov dword [ebp - 0x100], 0x100e6258
mov dword [ebp - 0xfc], 2
mov dword [ebp - 0xf8], 0x100e625c
mov dword [ebp - 0xf4], 2
mov dword [ebp - 0xf0], 0x100e6260
mov dword [ebp - 0xec], 4
mov dword [ebp - 0xe8], 0x100e6268
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xe0], 0
push 0x100e6270
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 9
push str..csgo_scriptsitemsitems_game.txt
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov eax, dword [ebp - 0x1c]
add esp, 0xc
or esi, 0xffffffff
test eax, eax
je 0x10028b92
push 2
push 0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10028b92
lea ecx, [edi + 1]
push ecx
call fcn.100dbfb1
push 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 0x1c]
push edi
push 1
push dword [ebp - 0x10]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x20
cmp eax, edi
jne 0x10028b92
mov eax, dword [ebp - 0x10]
mov byte [edi + eax], 0
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov edi, dword [ebp - 0x10]
lea ecx, [ebp - 0x108]
add esp, 4
push 0
push edi
call fcn.10028cb0
push eax
lea ecx, [ebp - 0x108]
call fcn.100268a0
push edi
call fcn.100dbfba
mov edx, dword [ebp - 0xe0]
add esp, 4
mov eax, edx
mov ecx, dword [edx]
test ecx, ecx
je 0x10026e0f
nop dword [eax]
cmp ecx, 0x20
jne 0x10026e1e
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x10026e00
mov dword [ebp - 0xdc], 0
jmp 0x10028b98
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x10028b98
push 0x20
call fcn.100dbf73
add esp, 4
mov dword [ebp - 0x74], eax
test eax, eax
je 0x10026e86
xorps xmm0, xmm0
lea ecx, [ebp - 0x108]
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_class_valve_parser::node_.0
mov dword [eax + 0xc], vtable.valve_parser::node.0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x10], ecx
jmp 0x10026e88
xor eax, eax
mov edi, dword [ebp - 0xd4]
lea ecx, [eax + 0xc]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], eax
test edi, edi
je 0x10026ec6
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10026ec0
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10026ec0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test al, al
je 0x10028b92
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x1a8], 0x100e6254
mov dword [ebp - 0x1a4], 3
mov dword [ebp - 0x1a0], 0x100e6258
mov dword [ebp - 0x19c], 2
mov dword [ebp - 0x198], 0x100e625c
mov dword [ebp - 0x194], 2
mov dword [ebp - 0x190], 0x100e6260
mov dword [ebp - 0x18c], 4
mov dword [ebp - 0x188], 0x100e6268
mov dword [ebp - 0x184], 4
mov dword [ebp - 0x180], 0
push 0x100e6270
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xa
push str..csgo_resourcecsgo_english.txt
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov eax, dword [ebp - 0x10]
add esp, 0xc
test eax, eax
je 0x10028b5a
push 2
push 0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 0x10]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10028b5a
lea ecx, [edi + 2]
push ecx
call fcn.100dbfb1
push 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 0x10]
push edi
push 1
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x20
cmp eax, edi
jne 0x10028b5a
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [eax + edi], cx
push dword [ebp - 0x10]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov edi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1a8]
add esp, 4
push 1
push edi
call fcn.10026570
push edi
call fcn.100dbfba
mov edx, dword [ebp - 0x180]
add esp, 4
mov eax, edx
mov ecx, dword [edx]
test ecx, ecx
je 0x10027026
cmp ecx, 0x20
jne 0x10027035
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x10027017
mov dword [ebp - 0x17c], 0
jmp 0x10028b60
mov dword [ebp - 0x17c], eax
test eax, eax
je 0x10028b60
push 0x20
call fcn.100dbf73
add esp, 4
mov dword [ebp - 0x74], eax
test eax, eax
je 0x1002709d
xorps xmm0, xmm0
lea ecx, [ebp - 0x1a8]
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_class_valve_parser::node_.0
mov dword [eax + 0xc], vtable.valve_parser::node.0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x10], ecx
jmp 0x1002709f
xor eax, eax
mov ecx, dword [ebp - 0x174]
lea edx, [eax + 0xc]
mov dword [ebp - 0x178], edx
mov edi, 0xc
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x174], eax
test ecx, ecx
je 0x100270ea
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x100270e4
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x14]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x100270e4
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x178]
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax]
call eax
test al, al
je 0x10028b5a
push 0
push str.weapon_icons
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x108]
call fcn.10025630
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x10028b4f
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10028b4f
push 0
push str.paint_kits_rarity
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x108]
call fcn.10025ea0
mov eax, dword [ebp - 0x138]
mov byte [ebp - 4], 0xc
cmp eax, dword [ebp - 0x134]
je 0x10028b44
push 0
push str.paint_kits
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x108]
call fcn.10025ea0
mov eax, dword [ebp - 0x12c]
mov byte [ebp - 4], 0xd
cmp eax, dword [ebp - 0x128]
je 0x10028b39
push 0
push str.Tokens
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.10025630
mov ecx, dword [ebp - 0x118]
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x10028b2e
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10028b2e
mov eax, dword [str.deagle]
mov dword [ebp - 0x854], eax
mov ax, word [0x100e4f94]
mov dword [ebp - 0x840], 0xf
mov dword [ebp - 0x844], 6
mov word [ebp - 0x850], ax
mov byte [ebp - 0x84e], 0
mov eax, dword [str.elite]
mov dword [ebp - 0x83c], eax
mov al, byte [0x100e6348]
mov dword [ebp - 0x828], 0xf
mov dword [ebp - 0x82c], 5
mov byte [ebp - 0x838], al
mov byte [ebp - 0x837], 0
movq xmm0, qword [str.fiveseven]
mov al, byte [0x100e6354]
mov dword [ebp - 0x810], 0xf
mov dword [ebp - 0x814], 9
movq qword [ebp - 0x824], xmm0
mov byte [ebp - 0x81c], al
mov byte [ebp - 0x81b], 0
push str.glock
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 0x11
call fcn.10004610
push str.ak47
lea ecx, [ebp - 0x7f4]
mov byte [ebp - 4], 0x12
call fcn.10004610
push 0x100e4fe0
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x13
call fcn.10004610
push 0x100e500c
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 4], 0x14
call fcn.10004610
push str.famas
lea ecx, [ebp - 0x7ac]
mov byte [ebp - 4], 0x15
call fcn.10004610
push str.g3sg1
lea ecx, [ebp - 0x794]
mov byte [ebp - 4], 0x16
call fcn.10004610
push str.galilar
lea ecx, [ebp - 0x77c]
mov byte [ebp - 4], 0x17
call fcn.10004610
push str.m249
lea ecx, [ebp - 0x764]
mov byte [ebp - 4], 0x18
call fcn.10004610
push str.m4a1_silencer
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0x19
call fcn.10004610
push str.m4a1
lea ecx, [ebp - 0x734]
mov byte [ebp - 4], 0x1a
call fcn.10004610
push str.mac10
lea ecx, [ebp - 0x71c]
mov byte [ebp - 4], 0x1b
call fcn.10004610
mov byte [ebp - 4], 0x1c
push 0x100e4fb8
lea ecx, [ebp - 0x704]
call fcn.10004610
push str.ump45
lea ecx, [ebp - 0x6ec]
mov byte [ebp - 4], 0x1d
call fcn.10004610
push str.xm1014
lea ecx, [ebp - 0x6d4]
mov byte [ebp - 4], 0x1e
call fcn.10004610
push str.bizon
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 4], 0x1f
call fcn.10004610
push str.mag7
lea ecx, [ebp - 0x6a4]
mov byte [ebp - 4], 0x20
call fcn.10004610
push str.negev
lea ecx, [ebp - 0x68c]
mov byte [ebp - 4], 0x21
call fcn.10004610
push str.sawedoff
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 0x22
call fcn.10004610
push str.tec9
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x23
call fcn.10004610
push str.hkp2000
lea ecx, [ebp - 0x644]
mov byte [ebp - 4], 0x24
call fcn.10004610
push str.mp5sd
lea ecx, [ebp - 0x62c]
mov byte [ebp - 4], 0x25
call fcn.10004610
push 0x100e4fac
lea ecx, [ebp - 0x614]
mov byte [ebp - 4], 0x26
call fcn.10004610
push 0x100e4f98
lea ecx, [ebp - 0x5fc]
mov byte [ebp - 4], 0x27
call fcn.10004610
push str.nova
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], 0x28
call fcn.10004610
push str.p250
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 0x29
call fcn.10004610
push str.scar20
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 4], 0x2a
call fcn.10004610
push str.sg556
lea ecx, [ebp - 0x59c]
mov byte [ebp - 4], 0x2b
call fcn.10004610
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x584]
push str.ssg08
call fcn.10004610
push str.usp_silencer
lea ecx, [ebp - 0x56c]
mov byte [ebp - 4], 0x2d
call fcn.10004610
push str.cz75a
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0x2e
call fcn.10004610
push str.revolver
lea ecx, [ebp - 0x53c]
mov byte [ebp - 4], 0x2f
call fcn.10004610
push str.knife_m9_bayonet
lea ecx, [ebp - 0x524]
mov byte [ebp - 4], 0x30
call fcn.10004610
push str.bayonet
lea ecx, [ebp - 0x50c]
mov byte [ebp - 4], 0x31
call fcn.10004610
push str.knife_flip
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x32
call fcn.10004610
push str.knife_gut
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x33
call fcn.10004610
push str.knife_css
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0x34
call fcn.10004610
push str.knife_cord
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0x35
call fcn.10004610
push str.knife_canis
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 0x36
call fcn.10004610
push str.knife_karambit
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0x37
call fcn.10004610
push str.knife_tactical
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0x38
call fcn.10004610
push str.knife_outdoor
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0x39
call fcn.10004610
push str.knife_skeleton
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x3a
call fcn.10004610
push str.knife_falchion
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 0x3b
call fcn.10004610
push str.knife_survival_bowie
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x3c
call fcn.10004610
push str.knife_butterfly
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 0x3d
call fcn.10004610
push str.knife_push
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x3e
call fcn.10004610
push str.knife_ursus
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x3f
call fcn.10004610
push str.knife_gypsy_jackknife
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x40
call fcn.10004610
push str.knife_stiletto
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0x41
call fcn.10004610
push str.knife_widowmaker
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x42
call fcn.10004610
push str.studded_bloodhound_gloves
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x43
call fcn.10004610
push str.sporty_gloves
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x44
call fcn.10004610
push str.slick_gloves
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x45
call fcn.10004610
push str.leather_handwraps
lea ecx, [ebp - 0x314]
mov byte [ebp - 4], 0x46
call fcn.10004610
push str.motorcycle_gloves
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x47
call fcn.10004610
push str.specialist_gloves
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0x48
call fcn.10004610
push str.studded_hydra_gloves
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x49
call fcn.10004610
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 4], 0x4a
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x84], ecx
cmp eax, ecx
je 0x10027887
mov edi, eax
nop word [eax + eax]
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10027873
lea esi, [ebp - 0x854]
mov dword [ebp - 0x10], esi
nop word [eax + eax]
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.icon_path
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.1002b020
mov ecx, dword [eax]
mov byte [ebp - 4], 0x4b
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [eax + 0x1c]
call fcn.10029000
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10027780
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x10027780
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x14]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x10027780
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x1002778a
mov ecx, dword [esi]
push dword [esi + 0x10]
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push ecx
cmovae eax, dword [ebp - 0x70]
push 0
push dword [ebp - 0x60]
push eax
call fcn.10023ae0
add esp, 0x14
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x100277d4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4a
call fcn.10003100
add esi, 0x18
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x10], esi
cmp esi, eax
jne 0x10027720
jmp 0x10027873
cmp dword [ebp - 0x5c], 0x10
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x60]
cmovae edx, dword [ebp - 0x70]
test eax, eax
je 0x10027807
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5f
je 0x10027800
cmp ecx, edx
je 0x10027807
dec ecx
cmp byte [ecx], 0x5f
jne 0x100277f6
sub ecx, edx
mov dword [ebp - 0x18], ecx
jmp 0x1002780e
mov dword [ebp - 0x18], 0xffffffff
push esi
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x204]
call fcn.10024050
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov esi, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
sub ecx, eax
sub ecx, edx
inc edx
dec ecx
add eax, edx
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x70]
call fcn.10028ee0
push eax
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [esi + 0x20]
call fcn.10022500
lea ecx, [ebp - 0xa8]
call fcn.10003100
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4a
call fcn.10003100
add edi, 8
cmp edi, dword [ebp - 0x84]
jne 0x10027700
mov edi, 0xc
mov esi, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x54], eax
cmp esi, eax
je 0x10027c15
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10027c01
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x7c], eax
cmp edi, eax
je 0x10027c01
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x10027bef
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1e4], 0xffffffff
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
mov ecx, dword [edi]
mov byte [ebp - 4], 0x4f
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
lea ecx, [eax + 0x14]
call fcn.10028f40
mov dword [ebp - 0x1e0], eax
test eax, eax
je 0x10027be0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.name
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, eax
call fcn.1002b020
mov ecx, dword [eax]
mov byte [ebp - 4], 0x50
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [eax + 0x1c]
call fcn.10029000
mov esi, dword [ebp - 0xac]
mov byte [ebp - 4], 0x52
test esi, esi
je 0x100279c1
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100279c1
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100279c1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp dword [ebp - 0x94], 0x10
lea eax, [ebp - 0xa8]
push dword [ebp - 0x98]
cmovae eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x1c0]
push eax
call fcn.10003440
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.description_tag
lea ecx, [ebp - 0x90]
push ecx
mov ecx, eax
call fcn.1002b020
mov ecx, dword [ebp - 0x90]
mov byte [ebp - 4], 0x53
test ecx, ecx
je 0x10027ac5
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [eax + 0x1c]
call fcn.10029000
push 0xffffffffffffffff
push 1
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [ebp - 0x38]
call fcn.10028ee0
push eax
lea ecx, [ebp - 0x38]
call fcn.10017540
lea ecx, [ebp - 0x150]
call fcn.10003100
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x38]
cmp edx, 0x10
lea ecx, [ebp - 0x38]
lea esi, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
cmovae ecx, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
cmp edx, 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x38]
cmp esi, eax
je 0x10027aa0
sub ecx, esi
mov edi, ecx
nop
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 - 0x14]
jne 0x10027a80
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
push dword [ebp - 0x28]
cmp edx, 0x10
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x1d8]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10003440
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x53
call fcn.10003100
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 0x100e6424
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.1002b020
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 0x55
test ecx, ecx
je 0x10027afe
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [eax + 0x1c]
call fcn.10028f40
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
mov esi, dword [eax]
mov eax, dword [ebp - 0x1e4]
mov dword [esi + 0x20], eax
lea ecx, [esi + 0x2c]
mov eax, dword [ebp - 0x1e0]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esi + 0x28], eax
lea eax, [ebp - 0x1d8]
cmp ecx, eax
je 0x10027b5b
cmp dword [ebp - 0x1c4], 0x10
push dword [ebp - 0x1c8]
cmovae eax, dword [ebp - 0x1d8]
push eax
call fcn.10003440
lea ecx, [esi + 0x44]
lea eax, [ebp - 0x1c0]
cmp ecx, eax
je 0x10027b82
cmp dword [ebp - 0x1ac], 0x10
push dword [ebp - 0x1b0]
cmovae eax, dword [ebp - 0x1c0]
push eax
call fcn.10003440
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x10027baa
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10027baa
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10027baa
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x10027bd5
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10027bd5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10027bd5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0xa8]
call fcn.10003100
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x4a
call fcn.10024d40
add edi, 8
mov dword [ebp - 0x18], edi
cmp edi, dword [ebp - 0x7c]
jne 0x100278c8
mov esi, dword [ebp - 0x10]
add esi, 8
mov dword [ebp - 0x10], esi
cmp esi, dword [ebp - 0x54]
jne 0x100278a1
mov edi, 0xc
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x84], ecx
cmp eax, ecx
je 0x10027d64
mov edi, eax
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10027d4d
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [eax + 0x14]
call fcn.10029000
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x38]
cmp edx, 0x10
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [ebp - 0x38]
cmovae ecx, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
cmp edx, 0x10
mov dword [ebp - 0x7c], eax
cmovae esi, dword [ebp - 0x38]
cmp esi, eax
je 0x10027cb0
sub ecx, esi
mov edi, ecx
nop word [eax + eax]
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 - 0x7c]
jne 0x10027c90
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x38]
push 8
push str.paintkit
cmp edx, 0x10
push 0
push dword [ebp - 0x28]
cmovae eax, esi
push eax
call fcn.10023ae0
add esp, 0x14
cmp eax, 0xffffffff
je 0x10027d41
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
push 3
push 0x100e6438
push 0
push dword [ebp - 0x28]
cmovae eax, esi
push eax
call fcn.10023ae0
add esp, 0x14
cmp eax, 0xffffffff
je 0x10027d41
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [eax + 0x1c]
call fcn.10029000
mov esi, eax
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x57
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x170]
call fcn.10023e50
push esi
mov ecx, dword [eax]
add ecx, 0x20
call fcn.10017540
lea ecx, [ebp - 0xa8]
call fcn.10003100
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x4a
call fcn.10003100
add edi, 8
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp - 0x84]
jne 0x10027c34
mov edi, 0xc
mov esi, dword [ebp - 0x138]
mov edx, closesocket
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x74], eax
cmp esi, eax
je 0x100282c8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100282b4
mov eax, dword [esi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x8c], eax
cmp ecx, eax
je 0x100282b4
nop dword [eax]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1002829c
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0
lea esi, [eax + 0x14]
mov dword [ebp - 0x7c], esi
je 0x10027f65
cmp dword [esi + 4], 0
je 0x10027f65
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
push 0xc8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x58
call fcn.10025550
mov eax, dword [esi + 4]
mov edi, dword [esi]
add eax, 4
mov esi, dword [ebp - 0x4c]
cmp edi, eax
je 0x10027eed
mov eax, dword [edi]
movzx ecx, ax
cmp eax, 0xd7ff
jbe 0x10027e3a
cmp eax, 0xe000
jb 0x10027e5f
cmp eax, 0xffff
ja 0x10027e5f
mov eax, ecx
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x48]
je 0x10027e4f
mov word [esi], cx
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x10027e5f
lea eax, [ebp - 0x54]
push eax
push esi
lea ecx, [ebp - 0x50]
call fcn.10022a50
mov esi, dword [ebp - 0x4c]
mov ecx, dword [edi]
add ecx, 0xffff0000
cmp ecx, 0xfffff
ja 0x10027ed9
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
sub ecx, 0x2400
and eax, 0x3ff
movzx ecx, cx
sub eax, 0x2800
mov dword [ebp - 0x18], ecx
movzx eax, ax
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x48]
je 0x10027ea6
mov word [esi], ax
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x10027eb9
lea eax, [ebp - 0x54]
push eax
push esi
lea ecx, [ebp - 0x50]
call fcn.10022a50
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x48]
je 0x10027ec9
mov word [esi], cx
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x10027ed9
lea eax, [ebp - 0x18]
push eax
push esi
lea ecx, [ebp - 0x50]
call fcn.10022a50
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x7c]
add edi, 4
mov eax, dword [eax + 4]
add eax, 4
cmp edi, eax
jne 0x10027e20
mov eax, esi
mov dword [ebp - 0x70], 0
sub eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x70]
sar eax, 1
push eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.1001ea20
mov byte [ebp - 0x84], 0
lea ecx, [ebp - 0x70]
push dword [ebp - 0x84]
push esi
mov esi, dword [ebp - 0x50]
push esi
call fcn.10022310
mov edi, dword [ebp - 0x20]
or edi, 0x10
mov dword [ebp - 0x20], edi
test esi, esi
je 0x10027f93
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x50]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.10026ab0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
jmp 0x10027f93
push 0
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x70]
push 0x100e54bf
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.10003440
or edi, 0x10
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x59
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x1c], 0
lea esi, [eax + 0x1c]
mov dword [ebp - 0x7c], esi
je 0x1002813e
cmp dword [esi + 4], 0
je 0x1002813e
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
push 0xc8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x5a
call fcn.10025550
mov eax, dword [esi + 4]
mov edi, dword [esi]
add eax, 4
mov esi, dword [ebp - 0x40]
cmp edi, eax
je 0x100280c3
mov eax, dword [edi]
movzx ecx, ax
cmp eax, 0xd7ff
jbe 0x10028010
cmp eax, 0xe000
jb 0x10028035
cmp eax, 0xffff
ja 0x10028035
mov eax, ecx
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x3c]
je 0x10028025
mov word [esi], cx
add esi, 2
mov dword [ebp - 0x40], esi
jmp 0x10028035
lea eax, [ebp - 0x54]
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.10022a50
mov esi, dword [ebp - 0x40]
mov ecx, dword [edi]
add ecx, 0xffff0000
cmp ecx, 0xfffff
ja 0x100280af
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
sub ecx, 0x2400
and eax, 0x3ff
movzx ecx, cx
sub eax, 0x2800
mov dword [ebp - 0x18], ecx
movzx eax, ax
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x3c]
je 0x1002807c
mov word [esi], ax
add esi, 2
mov dword [ebp - 0x40], esi
jmp 0x1002808f
lea eax, [ebp - 0x54]
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.10022a50
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x3c]
je 0x1002809f
mov word [esi], cx
add esi, 2
mov dword [ebp - 0x40], esi
jmp 0x100280af
lea eax, [ebp - 0x18]
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.10022a50
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x7c]
add edi, 4
mov eax, dword [eax + 4]
add eax, 4
cmp edi, eax
jne 0x10027ff6
mov eax, esi
mov dword [ebp - 0x38], 0
sub eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x38]
sar eax, 1
push eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.1001ea20
mov byte [ebp - 0x10c], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x10c]
push esi
mov esi, dword [ebp - 0x44]
push esi
call fcn.10022310
mov edi, dword [ebp - 0x20]
or edi, 0x20
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
test esi, esi
je 0x1002816f
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.10026ab0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
jmp 0x1002816f
push 0
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x38]
push 0x100e54bf
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.10003440
or edi, 0x20
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x5b
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
sub esp, 0x18
mov esi, esp
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x38]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x24], 0x10
mov ecx, dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x54], eax
cmp ecx, 0x10
jae 0x100281d0
movups xmm0, xmmword [eax]
mov eax, 0xf
movups xmmword [esi], xmm0
jmp 0x10028207
mov eax, ecx
mov ecx, closesocket
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
mov ecx, esi
mov dword [ebp - 0x7c], eax
inc eax
push eax
call fcn.10003380
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [esi], eax
push ecx
push dword [ebp - 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x7c]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
call fcn.10024e70
mov ecx, dword [ebp - 0xac]
add esp, 0x18
mov byte [ebp - 4], 0x59
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 0x24]
cmp edx, 0x10
jb 0x10028256
mov ecx, dword [ebp - 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002824c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov byte [ebp - 4], 0x4a
cmp edx, 0x10
jb 0x1002829c
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10028292
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov ecx, dword [ebp - 0x10]
add ecx, 8
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x8c]
jne 0x10027db0
mov esi, dword [ebp - 0x14]
add esi, 8
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp - 0x74]
jne 0x10027d83
mov edx, closesocket
lea ecx, [ebp - 0x854]
mov dword [ebp - 0x10], ecx
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x14], ecx
jb 0x100282f9
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
cmp edi, 0x10
jae 0x10028314
movups xmm0, xmmword [eax]
mov dword [ebp - 0x5c], 0xf
movups xmmword [ebp - 0x70], xmm0
jmp 0x10028344
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov esi, edi
lea ecx, [ebp - 0x70]
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, edx
lea eax, [esi + 1]
push eax
call fcn.10003380
lea ecx, [edi + 1]
mov dword [ebp - 0x70], eax
push ecx
push dword [ebp - 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x60], edi
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x5c
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x204]
call fcn.10024050
mov esi, dword [eax]
mov esi, dword [esi + 0x20]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10028ab6
cmp dword [esi + 0x24], 0x10
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], ecx
jb 0x1002839e
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jae 0x100283b6
movups xmm0, xmmword [eax]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0xf
movups xmmword [ebp - 0x38], xmm0
jmp 0x100283f2
mov edi, ecx
mov eax, closesocket
or edi, 0xf
lea ecx, [ebp - 0x38]
cmp edi, 0x7fffffff
cmova edi, eax
lea eax, [edi + 1]
push eax
call fcn.10003380
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x38], eax
push ecx
push dword [ebp - 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x5d
push eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
mov eax, dword [eax]
cmp dword [eax + 0x24], 0x2710
jge 0x100287e3
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x230], 0
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 - 0x38]
mov byte [ebp - 4], 0x5e
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0x210]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x70]
push eax
push 0
call fcn.10015c60
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x228]
push eax
call fcn.10003440
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0x11
jne 0x1002853b
push 0x11
push str.cu_m4a4_ancestral
push eax
call fcn.100269f0
add esp, 0xc
test eax, eax
jne 0x1002853b
push 0xb
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0xa8]
push str.Dragon_King
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], al
call fcn.10003440
mov eax, dword [ebp - 0x20]
lea edi, [ebp - 0xa8]
mov byte [ebp - 4], 0x5f
or eax, 1
jmp 0x100285f1
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0x170]
mov eax, dword [eax]
add eax, 0x2c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.10023e50
mov eax, dword [eax]
add eax, 0x20
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x18], ecx
jb 0x1002857c
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jae 0x1002859d
movups xmm0, xmmword [eax]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], 0xf
movups xmmword [ebp - 0x150], xmm0
jmp 0x100285e5
mov edi, ecx
mov eax, closesocket
or edi, 0xf
lea ecx, [ebp - 0x150]
cmp edi, 0x7fffffff
cmova edi, eax
lea eax, [edi + 1]
push eax
call fcn.10003380
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x150], eax
push ecx
push dword [ebp - 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edi
mov eax, dword [ebp - 0x20]
lea edi, [ebp - 0x150]
or eax, 2
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
cmp edx, 0x10
jb 0x10028631
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10028627
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
movups xmm0, xmmword [edi]
mov eax, dword [ebp - 0x20]
movups xmmword [ebp - 0x240], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x230], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test al, 2
je 0x100286a6
mov edx, dword [ebp - 0x13c]
and eax, 0xfffffffd
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp edx, 0x10
jb 0x100286a6
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10028699
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
mov eax, dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 4], 0x5e
test al, 1
je 0x100286f4
mov edx, dword [ebp - 0x94]
and eax, 0xfffffffe
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp edx, 0x10
jb 0x100286f4
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100286ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0xd0]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.10023bd0
lea ecx, [ebp - 0x170]
mov eax, dword [eax]
add eax, 0x2c
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.10023e50
mov eax, dword [eax]
cmp dword [eax + 0x30], 0
je 0x10028780
mov eax, dword [0x1019d5c4]
lea ecx, [ebp - 0x248]
push ecx
push eax
cmp eax, dword [0x1019d5c8]
je 0x10028776
push 0x1019d5c0
call fcn.100242e0
add esp, 0xc
add dword [0x1019d5c4], 0x44
jmp 0x10028780
mov ecx, 0x1019d5c0
call fcn.10022690
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x5d
call fcn.10017000
mov edx, dword [ebp - 0x214]
cmp edx, 0x10
jb 0x100287c9
mov ecx, dword [ebp - 0x228]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100287bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov edx, dword [ebp - 0x22c]
cmp edx, 0x10
jb 0x100289c3
mov ecx, dword [ebp - 0x240]
jmp 0x1002899a
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0xf
mov byte [ebp - 0x26c], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x60
push eax
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0x254]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x70]
push eax
push 0
call fcn.10015c60
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x26c]
push eax
call fcn.10003440
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0x170]
mov eax, dword [eax]
add eax, 0x2c
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10023e50
lea ecx, [ebp - 0x284]
mov eax, dword [eax]
add eax, 0x20
cmp ecx, eax
je 0x100288ed
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100288e0
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x284]
call fcn.10003440
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xd0]
call fcn.10023bd0
lea ecx, [ebp - 0x28c]
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x288], eax
mov eax, dword [0x1019d5b8]
push eax
cmp eax, dword [0x1019d5bc]
je 0x10028936
push 0x1019d5b4
call fcn.100242e0
add esp, 0xc
add dword [0x1019d5b8], 0x44
jmp 0x10028940
mov ecx, 0x1019d5b4
call fcn.10022690
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0x5d
call fcn.10017000
mov edx, dword [ebp - 0x258]
cmp edx, 0x10
jb 0x10028989
mov ecx, dword [ebp - 0x26c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002897f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov edx, dword [ebp - 0x270]
cmp edx, 0x10
jb 0x100289c3
mov ecx, dword [ebp - 0x284]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100289b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov edi, dword [0x1019d5b8]
mov eax, 0x78787879
mov ecx, edi
mov byte [ebp - 0x74], 0
sub ecx, dword [0x1019d5b4]
push dword [ebp - 0x74]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push dword [0x1019d5b4]
call fcn.100237f0
mov edi, dword [0x1019d5c4]
mov eax, 0x78787879
mov ecx, edi
mov byte [ebp - 0x8c], 0
sub ecx, dword [0x1019d5c0]
push dword [ebp - 0x8c]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push dword [0x1019d5c0]
call fcn.100237f0
mov edx, dword [ebp - 0x24]
add esp, 0x20
mov byte [ebp - 4], 0x5c
cmp edx, 0x10
jb 0x10028a6a
mov ecx, dword [ebp - 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10028a60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10028a94
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10028a90
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x10028a90
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10028a80
mov esi, eax
jmp 0x10028aac
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x10028aac
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10028aa0
cmp byte [esi + 0xd], 0
je 0x10028372
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x4a
cmp edx, 0x10
jb 0x10028aee
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10028ae4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002830e
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x2b4]
add ecx, 0x18
mov dword [ebp - 0x10], ecx
cmp ecx, eax
je 0x10028b0b
mov edx, closesocket
jmp 0x100282d1
mov byte [0x1019d5a4], 1
push fcn.10003100
push 0x3c
push 0x18
lea eax, [ebp - 0x854]
mov byte [ebp - 4], 0x61
push eax
call fcn.100dc579
or esi, 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.10024aa0
lea ecx, [ebp - 0x12c]
call fcn.10024b90
lea ecx, [ebp - 0x138]
call fcn.10024b90
lea ecx, [ebp - 0x120]
call fcn.10024aa0
mov edx, dword [ebp - 0x180]
push edx
call fcn.100dbfba
mov edi, dword [ebp - 0x174]
add esp, 4
test edi, edi
je 0x10028b92
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10028b92
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10028b92
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0xe0]
push edx
call fcn.100dbfba
mov edi, dword [ebp - 0xd4]
add esp, 4
test edi, edi
je 0x10028bc9
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10028bc9
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x10028bc9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x170]
call fcn.100245b0
lea ecx, [ebp - 0xd0]
call fcn.10024540
lea ecx, [ebp - 0x204]
call fcn.10024620
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret