Function at 0x1002f0a0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10121262
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8b8
push esi
xor esi, esi
mov dword [ebp - 0x2c], esi
push edi
push 0x28
mov dword [ebp - 0x1d4], esi
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x1cc], esi
call fcn.100f52b9
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c8], esi
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c8]
push eax
push 0x10
mov dword [ebp - 0x1bc], 7
mov dword [ebp - 0x1b8], 8
mov dword [ebp - 0x1d4], 0x3f800000
call fcn.10024860
mov dword [ebp - 4], 2
push 0x8c
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
call fcn.100f52b9
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c]
push eax
push 0x10
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x7c], 8
mov dword [ebp - 0x98], 0x3f800000
call fcn.10024860
mov byte [ebp - 4], 5
push 0x38
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], esi
call fcn.100f52b9
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x12c]
push eax
push 0x10
mov dword [ebp - 0x120], 7
mov dword [ebp - 0x11c], 8
mov dword [ebp - 0x138], 0x3f800000
call fcn.10024860
lea ecx, [ebp - 0x88c]
call fcn.1002dec0
mov byte [ebp - 4], 9
push esi
push str..csgo_scriptsitemsitems_game.txt
call fcn.1002e5b0
or edi, 0xffffffff
test al, al
je 0x10031427
lea ecx, [ebp - 0x8c4]
call fcn.1002dec0
push 1
push str..csgo_resourcecsgo_english.txt
mov byte [ebp - 4], 0xa
call fcn.1002e5b0
test al, al
je 0x100313f0
push ecx
push str.weapon_icons
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x88c]
call fcn.1002df70
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x100313c7
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100313c7
push ecx
push str.paint_kits_rarity
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x88c]
call fcn.1002e330
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0xa0]
je 0x1003135d
push ecx
push str.paint_kits
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x88c]
call fcn.1002e330
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xc4]
je 0x100312ed
push ecx
push str.Tokens
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x8c4]
call fcn.1002df70
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x140]
test ecx, ecx
je 0x100312be
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100312be
push str.deagle
lea ecx, [ebp - 0x854]
call fcn.10004730
push str.elite
lea ecx, [ebp - 0x83c]
mov byte [ebp - 4], 0xf
call fcn.10004730
push str.fiveseven
lea ecx, [ebp - 0x824]
mov byte [ebp - 4], 0x10
call fcn.10004730
push str.glock
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 0x11
call fcn.10004730
push str.ak47
lea ecx, [ebp - 0x7f4]
mov byte [ebp - 4], 0x12
call fcn.10004730
push 0x1014cf10
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x13
call fcn.10004730
push 0x1014cf3c
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 4], 0x14
call fcn.10004730
push str.famas
lea ecx, [ebp - 0x7ac]
mov byte [ebp - 4], 0x15
call fcn.10004730
push str.g3sg1
lea ecx, [ebp - 0x794]
mov byte [ebp - 4], 0x16
call fcn.10004730
push str.galilar
lea ecx, [ebp - 0x77c]
mov byte [ebp - 4], 0x17
call fcn.10004730
push str.m249
lea ecx, [ebp - 0x764]
mov byte [ebp - 4], 0x18
call fcn.10004730
push str.m4a1_silencer
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0x19
call fcn.10004730
push str.m4a1
lea ecx, [ebp - 0x734]
mov byte [ebp - 4], 0x1a
call fcn.10004730
push str.mac10
lea ecx, [ebp - 0x71c]
mov byte [ebp - 4], 0x1b
call fcn.10004730
push 0x1014cee8
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 0x1c
call fcn.10004730
push str.ump45
lea ecx, [ebp - 0x6ec]
mov byte [ebp - 4], 0x1d
call fcn.10004730
mov byte [ebp - 4], 0x1e
push str.xm1014
lea ecx, [ebp - 0x6d4]
call fcn.10004730
push str.bizon
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 4], 0x1f
call fcn.10004730
push str.mag7
lea ecx, [ebp - 0x6a4]
mov byte [ebp - 4], 0x20
call fcn.10004730
push str.negev
lea ecx, [ebp - 0x68c]
mov byte [ebp - 4], 0x21
call fcn.10004730
push str.sawedoff
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 0x22
call fcn.10004730
xorps xmm0, xmm0
mov dword [ebp - 0x64c], 4
movups xmmword [ebp - 0x65c], xmm0
mov dword [ebp - 0x648], 0xf
mov dword [ebp - 0x65c], 0x39636574
mov byte [ebp - 0x658], 0
mov eax, dword [str.hkp2000]
movups xmmword [ebp - 0x644], xmm0
mov dword [ebp - 0x644], eax
movzx eax, word [0x1014d58c]
mov word [ebp - 0x640], ax
mov al, byte [0x1014d58e]
mov dword [ebp - 0x634], 7
mov dword [ebp - 0x630], 0xf
mov byte [ebp - 0x63e], al
mov byte [ebp - 0x63d], 0
mov eax, dword [str.mp5sd]
movups xmmword [ebp - 0x62c], xmm0
mov dword [ebp - 0x62c], eax
mov al, byte [0x1014d594]
mov dword [ebp - 0x61c], 5
mov dword [ebp - 0x618], 0xf
mov byte [ebp - 0x628], al
mov byte [ebp - 0x627], 0
movzx eax, word [0x1014cedc]
movups xmmword [ebp - 0x614], xmm0
mov word [ebp - 0x614], ax
mov al, byte [0x1014cede]
mov dword [ebp - 0x604], 3
mov dword [ebp - 0x600], 0xf
mov byte [ebp - 0x612], al
mov byte [ebp - 0x611], 0
movzx eax, word [0x1014cec8]
movups xmmword [ebp - 0x5fc], xmm0
mov word [ebp - 0x5fc], ax
mov al, byte [0x1014ceca]
mov dword [ebp - 0x5ec], 3
mov dword [ebp - 0x5e8], 0xf
mov byte [ebp - 0x5fa], al
mov byte [ebp - 0x5f9], 0
movups xmmword [ebp - 0x5e4], xmm0
mov dword [ebp - 0x5d4], 4
mov dword [ebp - 0x5d0], 0xf
mov dword [ebp - 0x5e4], 0x61766f6e
mov byte [ebp - 0x5e0], 0
movups xmmword [ebp - 0x5cc], xmm0
mov dword [ebp - 0x5bc], 4
mov dword [ebp - 0x5b8], 0xf
mov dword [ebp - 0x5cc], 0x30353270
mov byte [ebp - 0x5c8], 0
mov byte [ebp - 4], 0x2a
push str.scar20
lea ecx, [ebp - 0x5b4]
call fcn.10004730
mov eax, dword [str.sg556]
xorps xmm0, xmm0
movups xmmword [ebp - 0x59c], xmm0
mov dword [ebp - 0x59c], eax
mov al, byte [0x1014d5a4]
mov dword [ebp - 0x58c], 5
mov dword [ebp - 0x588], 0xf
mov byte [ebp - 0x598], al
mov byte [ebp - 0x597], 0
mov eax, dword [str.ssg08]
movups xmmword [ebp - 0x584], xmm0
mov dword [ebp - 0x584], eax
mov al, byte [0x1014cf30]
mov dword [ebp - 0x574], 5
mov dword [ebp - 0x570], 0xf
mov byte [ebp - 0x580], al
mov byte [ebp - 0x57f], 0
mov eax, dword [0x1014d5b0]
movups xmmword [ebp - 0x56c], xmm0
mov dword [ebp - 0x55c], 0xc
movq xmm0, qword [str.usp_silencer]
mov dword [ebp - 0x558], 0xf
movq qword [ebp - 0x56c], xmm0
mov dword [ebp - 0x564], eax
mov byte [ebp - 0x560], 0
mov eax, dword [str.cz75a]
xorps xmm0, xmm0
movups xmmword [ebp - 0x554], xmm0
mov dword [ebp - 0x554], eax
mov al, byte [0x1014d5bc]
mov dword [ebp - 0x544], 5
mov dword [ebp - 0x540], 0xf
mov byte [ebp - 0x550], al
mov byte [ebp - 0x54f], 0
movups xmmword [ebp - 0x53c], xmm0
mov dword [ebp - 0x52c], 8
mov dword [ebp - 0x528], 0xf
mov dword [ebp - 0x53c], 0x6f766572
mov dword [ebp - 0x538], 0x7265766c
mov byte [ebp - 0x534], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x524]
mov dword [ebp - 0x514], esi
push eax
movups xmmword [ebp - 0x524], xmm0
mov dword [ebp - 0x510], esi
mov dword [ebp - 0x24], 0x1f
call fcn.10004b80
movups xmm0, xmmword [str.knife_m9_bayonet]
mov ecx, dword [ebp - 0x24]
add esp, 8
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x514], 0x10
mov dword [ebp - 0x510], ecx
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
mov eax, dword [str.bayonet]
xorps xmm0, xmm0
movups xmmword [ebp - 0x50c], xmm0
mov dword [ebp - 0x50c], eax
movzx eax, word [0x1014c6bc]
mov word [ebp - 0x508], ax
mov al, byte [0x1014c6be]
mov dword [ebp - 0x4fc], 7
mov dword [ebp - 0x4f8], 0xf
mov byte [ebp - 0x506], al
mov byte [ebp - 0x505], 0
movups xmmword [ebp - 0x4f4], xmm0
movq xmm0, qword [str.knife_flip]
movzx eax, word [0x1014c7dc]
mov dword [ebp - 0x4e4], 0xa
mov dword [ebp - 0x4e0], 0xf
movq qword [ebp - 0x4f4], xmm0
mov word [ebp - 0x4ec], ax
mov byte [ebp - 0x4ea], 0
mov al, byte [0x1014c808]
xorps xmm0, xmm0
movups xmmword [ebp - 0x4dc], xmm0
mov dword [ebp - 0x4cc], 9
movq xmm0, qword [str.knife_gut]
mov dword [ebp - 0x4c8], 0xf
movq qword [ebp - 0x4dc], xmm0
mov byte [ebp - 0x4d4], al
mov byte [ebp - 0x4d3], 0
mov al, byte [0x1014c6ec]
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c4], xmm0
mov dword [ebp - 0x4b4], 9
movq xmm0, qword [str.knife_css]
mov dword [ebp - 0x4b0], 0xf
movq qword [ebp - 0x4c4], xmm0
mov byte [ebp - 0x4bc], al
mov byte [ebp - 0x4bb], 0
movzx eax, word [0x1014c7b0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x4ac], xmm0
mov dword [ebp - 0x49c], 0xa
movq xmm0, qword [str.knife_cord]
mov dword [ebp - 0x498], 0xf
movq qword [ebp - 0x4ac], xmm0
mov word [ebp - 0x4a4], ax
mov byte [ebp - 0x4a2], 0
movzx eax, word [0x1014c780]
xorps xmm0, xmm0
movups xmmword [ebp - 0x494], xmm0
mov word [ebp - 0x48c], ax
movq xmm0, qword [str.knife_canis]
mov al, byte [0x1014c782]
mov dword [ebp - 0x484], 0xb
mov dword [ebp - 0x480], 0xf
movq qword [ebp - 0x494], xmm0
mov byte [ebp - 0x48a], al
mov byte [ebp - 0x489], 0
mov eax, dword [0x1014c834]
xorps xmm0, xmm0
movups xmmword [ebp - 0x47c], xmm0
mov dword [ebp - 0x474], eax
movq xmm0, qword [str.knife_karambit]
movzx eax, word [0x1014c838]
mov dword [ebp - 0x46c], 0xe
mov dword [ebp - 0x468], 0xf
movq qword [ebp - 0x47c], xmm0
mov word [ebp - 0x470], ax
mov byte [ebp - 0x46e], 0
mov eax, dword [0x1014c8a0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x464], xmm0
mov dword [ebp - 0x45c], eax
movq xmm0, qword [str.knife_tactical]
movzx eax, word [0x1014c8a4]
mov dword [ebp - 0x454], 0xe
mov dword [ebp - 0x450], 0xf
movq qword [ebp - 0x464], xmm0
mov word [ebp - 0x458], ax
mov byte [ebp - 0x456], 0
mov eax, dword [0x1014c74c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x44c], xmm0
mov dword [ebp - 0x43c], 0xd
movq xmm0, qword [str.knife_outdoor]
mov dword [ebp - 0x438], 0xf
movq qword [ebp - 0x44c], xmm0
mov dword [ebp - 0x444], eax
mov al, byte [0x1014c750]
mov byte [ebp - 0x440], al
mov byte [ebp - 0x43f], 0
mov eax, dword [0x1014c718]
xorps xmm0, xmm0
movups xmmword [ebp - 0x434], xmm0
mov dword [ebp - 0x42c], eax
movq xmm0, qword [str.knife_skeleton]
movzx eax, word [0x1014c71c]
mov dword [ebp - 0x424], 0xe
mov dword [ebp - 0x420], 0xf
movq qword [ebp - 0x434], xmm0
mov word [ebp - 0x428], ax
mov byte [ebp - 0x426], 0
push str.knife_falchion
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 0x3b
call fcn.10004730
push str.knife_survival_bowie
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x3c
call fcn.10004730
push str.knife_butterfly
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 0x3d
call fcn.10004730
push str.knife_push
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x3e
call fcn.10004730
push str.knife_ursus
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x3f
call fcn.10004730
push str.knife_gypsy_jackknife
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x40
call fcn.10004730
push str.knife_stiletto
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0x41
call fcn.10004730
push str.knife_widowmaker
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x42
call fcn.10004730
push str.studded_bloodhound_gloves
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x43
call fcn.10004730
push str.sporty_gloves
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x44
call fcn.10004730
push str.slick_gloves
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x45
call fcn.10004730
push str.leather_handwraps
lea ecx, [ebp - 0x314]
mov byte [ebp - 4], 0x46
call fcn.10004730
push str.motorcycle_gloves
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x47
call fcn.10004730
push str.specialist_gloves
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0x48
call fcn.10004730
push str.studded_hydra_gloves
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x49
call fcn.10004730
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1002fe72
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x1002fe60
lea eax, [ebp - 0x854]
mov dword [ebp - 0x10], eax
nop dword [eax]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
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.100344d0
mov byte [ebp - 4], 0x4b
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x1002fc6a
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x1002fc6a
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x14]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002fc6a
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov edx, eax
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14], ecx
jbe 0x1002fc7d
mov edx, dword [eax]
cmp dword [ebp - 0xec], 0xf
lea ecx, [ebp - 0x100]
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
seta byte [ebp - 0x25]
push edx
mov edx, dword [ebp - 0xf0]
cmova ecx, eax
push ecx
mov dword [ebp - 0x1c], eax
call fcn.10032470
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x1002fd13
cmp byte [ebp - 0x25], 0
mov byte [ebp - 4], 0x4a
je 0x1002fcf7
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x1c]
inc ecx
mov edx, eax
cmp ecx, 0x1000
jb 0x1002fced
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x1c], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x100314b4
mov eax, dword [ebp - 0x1c]
push ecx
push eax
call fcn.100f5603
add esp, 8
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x2b4]
add eax, 0x18
mov dword [ebp - 0x10], eax
cmp eax, ecx
jne 0x1002fc00
jmp 0x1002fe60
cmp byte [ebp - 0x25], 0
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0xf0]
cmovne edx, dword [ebp - 0x1c]
test eax, eax
je 0x1002fd51
dec eax
mov ecx, edi
cmp eax, 0xffffffff
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5f
je 0x1002fd4a
nop dword [eax + eax]
cmp ecx, edx
je 0x1002fd51
dec ecx
cmp byte [ecx], 0x5f
jne 0x1002fd40
sub ecx, edx
mov dword [ebp - 0x1c], ecx
jmp 0x1002fd58
mov dword [ebp - 0x1c], 0xffffffff
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1d4]
call fcn.10031770
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x1c]
sub eax, ecx
sub eax, edx
inc edx
dec eax
add edx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xf0]
cmp eax, edx
jb 0x100314af
mov ecx, dword [ebp - 0x14]
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xec], 0xf
lea eax, [ebp - 0x100]
cmova eax, dword [ebp - 0x100]
push ecx
add eax, edx
lea ecx, [ebp - 0x78]
push eax
call fcn.10004930
or esi, 8
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 0x4e
push eax
call fcn.10031b40
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x1002fe22
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002fe18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0xec]
cmp ecx, 0xf
jbe 0x1002fe60
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002fe56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov eax, dword [ebp - 0x24]
add eax, 8
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x18]
jne 0x1002fbe2
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x100306c1
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100306af
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], eax
cmp ecx, eax
je 0x100306af
nop word [eax + eax]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x1003069d
xorps xmm0, xmm0
mov dword [ebp - 0x1b4], 0xffffffff
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x1ac], 0
movups xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 0x4f
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
lea ecx, [eax + 0x14]
call fcn.1002dcd0
mov dword [ebp - 0x1b0], eax
test eax, eax
jne 0x1002ff62
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x4a
call fcn.10031560
jmp 0x1003069d
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 0x1014d5d8
lea ecx, [ebp - 0x1f4]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x50
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1002ffc9
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x1002ffc9
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x18]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x1002ffc9
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x64], 0xf
lea eax, [ebp - 0x78]
push dword [ebp - 0x68]
cmova eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x190]
push eax
call fcn.10011110
mov eax, dword [ebp - 0x10]
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.100344d0
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x100301a8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
mov byte [ebp - 4], 0x54
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x48], xmm0
cmp eax, 1
jb 0x100314af
dec eax
mov ecx, edi
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0xcc], 0xf
lea eax, [ebp - 0xe0]
cmova eax, dword [ebp - 0xe0]
push ecx
inc eax
lea ecx, [ebp - 0x48]
push eax
call fcn.10004930
mov ecx, dword [ebp - 0xcc]
or esi, 4
mov dword [ebp - 0x2c], esi
cmp ecx, 0xf
jbe 0x100300ba
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100300b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
movups xmm1, xmmword [ebp - 0x48]
lea ecx, [ebp - 0xe0]
movq xmm0, qword [ebp - 0x38]
lea esi, [ebp - 0xe0]
movq qword [ebp - 0xd0], xmm0
cmp dword [ebp - 0xcc], 0xf
movd edx, xmm1
seta al
movups xmmword [ebp - 0xe0], xmm1
cmova ecx, edx
mov dword [ebp - 0x24], edx
test al, al
je 0x10030104
mov esi, edx
mov edx, dword [ebp - 0xd0]
mov eax, esi
add eax, edx
jmp 0x10030113
mov edx, dword [ebp - 0xd0]
lea eax, [edx + esi]
lea esi, [ebp - 0xe0]
mov dword [ebp - 0x14], eax
cmp esi, eax
je 0x1003014c
sub ecx, esi
mov dword [ebp - 0x18], ecx
mov edi, ecx
movsx ax, byte [esi]
movzx eax, ax
push eax
call fcn.101032fe
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x14]
jne 0x10030121
mov eax, dword [ebp - 0xe0]
or edi, 0xffffffff
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0xcc], 0xf
lea eax, [ebp - 0xe0]
push edx
cmova eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1a8]
push eax
call fcn.10011110
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x100301a8
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003019e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 0x101471e8
lea ecx, [ebp - 0x1fc]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x55
mov ecx, dword [ebp - 0x1fc]
test ecx, ecx
je 0x100301ea
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [eax + 0x1c]
call fcn.1002dcd0
mov dword [ebp - 0x1b4], eax
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.color0
lea ecx, [ebp - 0x204]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp - 0x204]
test ecx, ecx
je 0x10030289
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
cmp dword [ebp - 0x34], 0xf
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [ebp - 0x174]
push ecx
lea ecx, [ebp - 0x178]
push ecx
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
push str._u__u__u
push eax
call fcn.1002da10
mov ecx, dword [ebp - 0x34]
add esp, 0x14
cmp ecx, 0xf
jbe 0x10030289
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003027f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.color1
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x1ec]
test ecx, ecx
je 0x10030328
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
cmp dword [ebp - 0x34], 0xf
lea ecx, [ebp - 0x164]
push ecx
lea ecx, [ebp - 0x168]
push ecx
lea ecx, [ebp - 0x16c]
push ecx
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
push str._u__u__u
push eax
call fcn.1002da10
mov ecx, dword [ebp - 0x34]
add esp, 0x14
cmp ecx, 0xf
jbe 0x10030328
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003031e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.color2
lea ecx, [ebp - 0x1e4]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
je 0x100303c7
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
cmp dword [ebp - 0x34], 0xf
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
lea ecx, [ebp - 0x160]
push ecx
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
push str._u__u__u
push eax
call fcn.1002da10
mov ecx, dword [ebp - 0x34]
add esp, 0x14
cmp ecx, 0xf
jbe 0x100303c7
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100303bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push str.color3
lea ecx, [ebp - 0x1dc]
push ecx
mov ecx, eax
call fcn.100344d0
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x1dc]
test ecx, ecx
je 0x10030466
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
cmp dword [ebp - 0x34], 0xf
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x150]
push ecx
lea ecx, [ebp - 0x154]
push ecx
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
push str._u__u__u
push eax
call fcn.1002da10
mov ecx, dword [ebp - 0x34]
add esp, 0x14
cmp ecx, 0xf
jbe 0x10030466
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003045c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
mov ecx, dword [ebp - 0x1b4]
mov esi, eax
lea eax, [ebp - 0x1a8]
mov dword [esi], ecx
mov ecx, dword [ebp - 0x1b0]
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x1ac]
mov dword [esi + 8], ecx
lea ecx, [esi + 0xc]
cmp ecx, eax
je 0x100304b8
cmp dword [ebp - 0x194], 0xf
push dword [ebp - 0x198]
cmova eax, dword [ebp - 0x1a8]
push eax
call fcn.10011110
lea ecx, [esi + 0x24]
lea eax, [ebp - 0x190]
cmp ecx, eax
je 0x100304df
cmp dword [ebp - 0x17c], 0xf
push dword [ebp - 0x180]
cmova eax, dword [ebp - 0x190]
push eax
call fcn.10011110
mov eax, dword [ebp - 0x178]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x174]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x170]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x16c]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x168]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x164]
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0x160]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x158]
mov dword [esi + 0x5c], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0x150]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x14c]
mov dword [esi + 0x68], eax
mov esi, dword [ebp - 0x1d8]
test esi, esi
je 0x10030574
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10030574
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x10030574
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x1e0]
test esi, esi
je 0x1003059d
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1003059d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x1003059d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x1e8]
test esi, esi
je 0x100305c6
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100305c6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100305c6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x100305ef
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100305ef
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100305ef
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x1f8]
test esi, esi
je 0x10030618
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10030618
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x10030618
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x10030641
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10030641
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x10030641
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x4f
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x10030679
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003066f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov byte [ebp - 4], 0x4a
call fcn.10031560
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
add ecx, 8
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x30]
jne 0x1002fec0
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x20]
jne 0x1002fe90
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], ecx
cmp eax, ecx
je 0x10030879
nop dword [eax + eax]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10030867
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [eax + 0x14]
call fcn.1002da30
mov byte [ebp - 4], 0x5a
lea edi, [ebp - 0xbc]
cmp dword [ebp - 0xa8], 0xf
lea edx, [ebp - 0xbc]
mov ecx, dword [ebp - 0xbc]
seta al
mov dword [ebp - 0x10], ecx
cmova edi, ecx
test al, al
mov eax, dword [ebp - 0xac]
je 0x10030743
mov esi, ecx
lea edx, [eax + ecx]
jmp 0x1003074b
add edx, eax
lea esi, [ebp - 0xbc]
mov dword [ebp - 0x14], edx
cmp esi, edx
je 0x1003077c
sub edi, esi
movsx ax, byte [esi]
movzx eax, ax
push eax
call fcn.101032fe
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x14]
jne 0x10030754
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0xa8]
lea edx, [ebp - 0xbc]
cmp esi, 0xf
cmova edx, ecx
mov dword [ebp - 0x18], edx
cmp eax, 8
jb 0x10030835
add eax, 0xfffffff9
add eax, edx
mov dword [ebp - 0x20], eax
sub eax, edx
push eax
push 0x70
push edx
call fcn.100f7900
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10030c66
nop word [eax + eax]
mov ecx, edi
mov edx, str.paintkit
mov esi, 4
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100307e5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100307d0
xor eax, eax
jmp 0x1003080c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10030807
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10030807
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10030807
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10030807
xor eax, eax
jmp 0x1003080c
sbb eax, eax
or eax, 1
test eax, eax
je 0x10030b4b
mov eax, dword [ebp - 0x20]
inc edi
sub eax, edi
push eax
push 0x70
push edi
call fcn.100f7900
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x100307c0
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x4a
cmp esi, 0xf
jbe 0x10030867
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x1003085d
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push esi
push ecx
call fcn.100f5603
add esp, 8
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x30]
jne 0x100306e0
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x100309be
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x100309af
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
cmp edi, eax
je 0x100309af
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100309a0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x14]
call fcn.1002da30
mov byte [ebp - 4], 0x5c
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
sub esp, 0x18
mov esi, eax
lea eax, [ebp - 0x118]
mov ecx, esp
push eax
call fcn.10010d10
call fcn.1002ec70
mov byte [ebp - 4], 0x5c
add esp, 0x18
mov ecx, dword [ebp - 0x104]
mov dword [esi + 8], eax
cmp ecx, 0xf
jbe 0x10030968
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003095e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100309a0
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030996
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
add edi, 8
cmp edi, dword [ebp - 0x20]
jne 0x100308b7
mov esi, dword [ebp - 0x14]
add esi, 8
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp - 0x18]
jne 0x10030893
lea edi, [ebp - 0x854]
mov dword [ebp - 0x14], edi
nop word [eax + eax]
push edi
lea ecx, [ebp - 0x118]
call fcn.10010d10
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0x1d4]
call fcn.10031770
mov esi, dword [eax]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10031249
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x60]
call fcn.10010d10
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
xorps xmm0, xmm0
cmp dword [eax + 4], 0x2710
jge 0x10030ffd
movups xmmword [ebp - 0x254], xmm0
mov dword [ebp - 0x244], 0
movups xmmword [ebp - 0x23c], xmm0
mov dword [ebp - 0x240], 0xf
mov byte [ebp - 0x254], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
lea ecx, [ebp - 0x224]
mov eax, dword [eax + 4]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x118]
push eax
push 0
call fcn.10033080
cmp dword [ebp - 0x4c], 0xf
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
cmova eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x23c]
push eax
call fcn.10011110
cmp dword [ebp - 0x4c], 0xf
lea ecx, [ebp - 0x60]
cmova ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x50], 0x11
jne 0x10030cc1
mov edx, str.cu_m4a4_ancestral
mov edi, 0xd
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10030b11
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10030b00
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10030c6e
cmp edi, 0xfffffffd
je 0x10030b44
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10030c6e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10030c6e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10030c6e
xor eax, eax
jmp 0x10030c73
sub edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
cmp edi, 0xffffffff
je 0x1003082f
cmp dword [ebp - 0xa8], 0xf
lea esi, [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
cmova esi, ecx
cmp eax, 3
jb 0x1003082f
lea edi, [eax + esi]
lea eax, [edi - 2]
sub eax, esi
push eax
push 0x74
push esi
call fcn.100f7900
mov edx, eax
add esp, 0xc
test edx, edx
je 0x1003082c
movzx ecx, byte [edx]
cmp cl, 0x74
jne 0x10030bb3
movzx eax, byte [edx + 1]
cmp al, 0x61
jne 0x10030bb3
movzx eax, byte [edx + 2]
cmp al, 0x67
jne 0x10030bb3
xor eax, eax
jmp 0x10030bb8
sbb eax, eax
or eax, 1
test eax, eax
je 0x10030bd9
inc edx
lea eax, [edi - 2]
sub eax, edx
push eax
push 0x74
push edx
call fcn.100f7900
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x10030b97
jmp 0x1003082c
sub edx, esi
cmp edx, 0xffffffff
je 0x1003082c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [eax + 0x1c]
call fcn.1002da30
push eax
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [ebp - 0x138]
call fcn.10031690
mov ecx, eax
call fcn.10010b90
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x104]
cmp ecx, 0xf
jbe 0x10030c5b
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030c51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov ecx, dword [ebp - 0xbc]
jmp 0x1003082f
mov ecx, dword [ebp - 0x10]
jmp 0x10030835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10030cc1
mov ax, word [0x1014d644]
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
mov word [ebp - 0x70], ax
movq xmm0, qword [str.Dragon_King]
mov al, byte [0x1014d646]
mov dword [ebp - 0x68], 0xb
mov dword [ebp - 0x64], 0xf
movq qword [ebp - 0x78], xmm0
mov byte [ebp - 0x6e], al
mov byte [ebp - 0x6d], 0
mov byte [ebp - 4], 0x61
lea edi, [ebp - 0x78]
mov eax, dword [ebp - 0x2c]
or eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x10030cfd
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
add eax, 0xc
lea ecx, [ebp - 0x138]
push eax
call fcn.10031690
push eax
lea ecx, [ebp - 0x48]
call fcn.10010d10
mov edi, eax
lea ecx, [ebp - 0x254]
mov eax, dword [ebp - 0x2c]
or eax, 2
mov dword [ebp - 0x2c], eax
cmp ecx, edi
je 0x10030d62
mov ecx, dword [ebp - 0x240]
cmp ecx, 0xf
jbe 0x10030d37
mov edx, dword [ebp - 0x254]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030d2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
movups xmm0, xmmword [edi]
mov eax, dword [ebp - 0x2c]
movups xmmword [ebp - 0x254], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x244], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test al, 2
je 0x10030db5
mov ecx, dword [ebp - 0x34]
and eax, 0xfffffffd
mov dword [ebp - 0x2c], eax
cmp ecx, 0xf
jbe 0x10030da3
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030d96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
mov eax, dword [ebp - 0x2c]
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0x60
test al, 1
je 0x10030dfa
mov ecx, dword [ebp - 0x64]
and eax, 0xfffffffe
mov dword [ebp - 0x2c], eax
cmp ecx, 0xf
jbe 0x10030dfa
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10030df0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 8]
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
mov eax, dword [eax + 0x3c]
movzx ecx, al
mov eax, dword [ebp - 0x20]
shl ecx, 8
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x18]
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
mov eax, dword [eax + 0x48]
movzx ecx, al
mov eax, dword [ebp - 0x20]
shl ecx, 8
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x18]
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x214], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
mov eax, dword [eax + 0x54]
movzx ecx, al
mov eax, dword [ebp - 0x20]
shl ecx, 8
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x18]
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x210], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
mov eax, dword [eax + 0x60]
movzx ecx, al
mov eax, dword [ebp - 0x20]
shl ecx, 8
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x18]
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x20c], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.10031700
add eax, 4
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
add eax, 0xc
lea ecx, [ebp - 0x138]
push eax
call fcn.10031690
cmp dword [eax + 0x10], 0
je 0x10030ff2
mov eax, dword [0x10168b78]
lea ecx, [ebp - 0x25c]
push ecx
cmp eax, dword [0x10168b7c]
je 0x10030fe7
mov ecx, eax
call fcn.10033690
add dword [0x10168b78], 0x58
lea ecx, [ebp - 0x25c]
jmp 0x1003114e
push eax
mov ecx, 0x10168b74
call fcn.10032b80
lea ecx, [ebp - 0x25c]
jmp 0x1003114e
movups xmmword [ebp - 0x2ac], xmm0
mov dword [ebp - 0x29c], 0
movups xmmword [ebp - 0x294], xmm0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
lea ecx, [ebp - 0x27c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2b4], eax
lea eax, [ebp - 0x118]
push eax
push 0
call fcn.10033080
cmp dword [ebp - 0x4c], 0xf
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
cmova eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x294]
push eax
call fcn.10011110
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
add eax, 0xc
lea ecx, [ebp - 0x138]
push eax
call fcn.10031690
lea ecx, [ebp - 0x2ac]
cmp ecx, eax
je 0x100310e9
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x100310dc
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x2ac]
call fcn.10011110
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x98]
call fcn.10031700
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10031700
add eax, 4
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x260], eax
mov eax, dword [0x10168b6c]
push ecx
cmp eax, dword [0x10168b70]
je 0x1003113d
mov ecx, eax
call fcn.10033690
add dword [0x10168b6c], 0x58
jmp 0x10031148
push eax
mov ecx, 0x10168b68
call fcn.10032b80
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x5f
call fcn.100315f0
mov ecx, dword [0x10168b6c]
mov eax, 0x2e8ba2e9
sub ecx, dword [0x10168b68]
imul ecx
mov ecx, dword [0x10168b68]
sar edx, 4
mov eax, edx
mov byte [ebp - 0x30], 0
push dword [ebp - 0x30]
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10168b6c]
push eax
call fcn.10033370
mov ecx, dword [0x10168b78]
mov eax, 0x2e8ba2e9
sub ecx, dword [0x10168b74]
imul ecx
mov ecx, dword [0x10168b74]
sar edx, 4
mov eax, edx
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10168b78]
push eax
call fcn.10033370
mov byte [ebp - 4], 0x5e
add esp, 0x10
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x100311fe
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100311f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10031224
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10031220
cmp esi, dword [eax + 8]
jne 0x10031220
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10031210
mov esi, eax
jmp 0x1003123c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x1003123c
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x10031230
cmp byte [esi + 0xd], 0
je 0x10030a00
mov edi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x104]
cmp ecx, 0xf
jbe 0x10031287
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003127d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
add edi, 0x18
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x14], edi
cmp edi, eax
jne 0x100309d0
mov byte [0x101682f2], 1
push fcn.100046e0
push 0x3c
push 0x18
lea eax, [ebp - 0x854]
mov byte [ebp - 4], 0x63
push eax
call fcn.100f5642
or edi, 0xffffffff
mov esi, dword [ebp - 0x13c]
test esi, esi
je 0x100312e7
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100312e7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100312e7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x10031357
mov edx, dword [ebp - 0xc4]
push ecx
call fcn.10032590
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 0xc8]
sub ecx, edx
and ecx, 0xfffffff8
mov eax, edx
cmp ecx, 0x1000
jb 0x1003132f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x100313c7
mov edx, dword [ebp - 0xa0]
push ecx
call fcn.10032590
mov ecx, dword [ebp - 0x9c]
add esp, 4
mov edx, dword [ebp - 0xa4]
sub ecx, edx
and ecx, 0xfffffff8
mov eax, edx
cmp ecx, 0x1000
jb 0x1003139f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100314b4
push ecx
push edx
call fcn.100f5603
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov esi, dword [ebp - 0x144]
test esi, esi
je 0x100313f0
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100313f0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100313f0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push dword [ebp - 0x89c]
call fcn.100f5634
mov esi, dword [ebp - 0x890]
add esp, 4
test esi, esi
je 0x10031427
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10031427
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x10031427
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push dword [ebp - 0x864]
call fcn.100f5634
mov esi, dword [ebp - 0x858]
add esp, 4
test esi, esi
je 0x1003145d
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1003145d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1003145d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x12c]
call fcn.10022d80
lea ecx, [ebp - 0x134]
call fcn.100316b0
lea ecx, [ebp - 0x8c]
call fcn.10022d80
lea ecx, [ebp - 0x94]
call fcn.10031720
lea ecx, [ebp - 0x1c8]
call fcn.10022d80
lea ecx, [ebp - 0x1d0]
call fcn.10031790
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10024cc0
call fcn.100fac9a
int3