Function at 0x10020775
Capabilities:
Inspect section memory permissions
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x3a08
call fcn.10028c20
mov eax, dword [0x100b9b90]
xor eax, esp
mov dword [esp + 0x3a04], eax
mov eax, dword [esp + 0x3a10]
xor edx, edx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3a18]
mov ecx, edx
mov dword [esp + 0x48], edx
mov ebx, edx
push edi
mov dword [esp + 0x50], eax
mov eax, edx
mov dword [esp + 0x4c], edx
push dword [esi]
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
call fcn.10002470
mov dword [0x100bc10c], eax
mov ebp, 0x100b98a8
pop ecx
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov dword [0x100bc110], ecx
mov ecx, dword [eax + 0x3c]
add ecx, eax
push 0xf
mov dword [esp + 0x4c], ecx
pop edi
mov eax, dword [ecx + 0x34]
mov dword [0x100bc108], eax
xor eax, eax
cmp dword [ecx + 0xa4], eax
je 0x10021f31
movzx eax, byte [0x100b9a36]
mov esi, 0x100b9678
cmp dword [0x100b968c], 0x10
push eax
cmovae esi, dword [0x100b9678]
lea eax, [esp + 0x400]
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0x3f0]
mov dword [esp + 0x418], ebx
push eax
lea eax, [esp + 0x3dc]
mov dword [esp + 0x420], edi
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x13d4]
mov byte [esp + 0x414], bl
push eax
mov dword [esp + 0x410], ebx
mov dword [esp + 0x414], edi
mov byte [esp + 0x400], bl
mov dword [esp + 0x3f8], ebx
mov dword [esp + 0x3fc], edi
mov byte [esp + 0x3e8], bl
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e4], edi
mov byte [esp + 0x3d0], bl
mov dword [esp + 0x3c8], ebx
mov dword [esp + 0x3cc], edi
mov byte [esp + 0x3b8], bl
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x3b4], edi
mov byte [esp + 0x3a0], bl
mov dword [esp + 0x398], ebx
mov dword [esp + 0x39c], edi
mov byte [esp + 0x388], bl
mov dword [esp + 0x380], ebx
mov dword [esp + 0x384], edi
mov byte [esp + 0x370], bl
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x3c8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0x3b8]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x13c8]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x3a8]
push eax
lea eax, [esp + 0x394]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x384]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x13c4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x13a8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x138c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1370]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1354]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1338]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x131c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1300]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x12e4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x12c8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x12ac]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1290]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1274]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10020a6f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100bc11c], eax
test eax, eax
je 0x10020e37
push 0x10
pop ecx
cmp dword [0x100b922c], ecx
mov eax, 0x100b9218
mov dword [esp + 0x350], edi
mov esi, ebp
cmovae eax, dword [0x100b9218]
cmp dword [0x100b98bc], ecx
mov dword [esp + 0x338], edi
cmovae esi, dword [0x100b98a8]
cmp dword [0x100b98a4], ecx
mov dword [esp + 0x320], edi
mov dword [esp + 0x308], edi
mov dword [esp + 0x2f0], edi
mov dword [esp + 0x2d8], edi
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2a8], edi
mov edi, 0x100b9890
cmovae edi, dword [0x100b9890]
cmp dword [0x100b955c], ecx
mov dword [esp + 0x34c], ebx
mov byte [esp + 0x33c], bl
mov dword [esp + 0x334], ebx
mov byte [esp + 0x324], bl
mov dword [esp + 0x31c], ebx
mov byte [esp + 0x30c], bl
mov dword [esp + 0x304], ebx
mov byte [esp + 0x2f4], bl
mov dword [esp + 0x2ec], ebx
mov byte [esp + 0x2dc], bl
mov dword [esp + 0x2d4], ebx
mov byte [esp + 0x2c4], bl
mov dword [esp + 0x2bc], ebx
mov byte [esp + 0x2ac], bl
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
mov dword [esp + 0x28c], ebx
mov byte [esp + 0x27c], bl
mov dword [esp + 0x274], ebx
mov byte [esp + 0x264], bl
mov ebx, 0x100b9548
cmovae ebx, dword [0x100b9548]
xor ecx, ecx
push 0xf
pop edx
mov dword [esp + 0x25c], ecx
mov byte [esp + 0x24c], cl
mov dword [esp + 0x244], ecx
mov byte [esp + 0x234], cl
lea ecx, [esp + 0x33c]
mov dword [esp + 0x290], edx
mov dword [esp + 0x278], edx
mov dword [esp + 0x260], edx
mov dword [esp + 0x248], edx
movzx eax, byte [eax + 3]
push ecx
push eax
lea eax, [esp + 0x125c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [str.oEgbooo]
push eax
lea eax, [esp + 0x32c]
push eax
lea eax, [esp + 0x1248]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x314]
push eax
movzx eax, byte [0x100b95fe]
push eax
lea eax, [esp + 0x1234]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x304]
push eax
lea eax, [esp + 0x1220]
push eax
call fcn.10014683
add esp, 0xc
push eax
movsx eax, byte [0x100b90e1]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x2f4]
push eax
lea eax, [esp + 0x1210]
push eax
call fcn.10014683
add esp, 0x10
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x11f8]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b90dd]
push eax
lea eax, [esp + 0x2c8]
push eax
lea eax, [esp + 0x11e4]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [esi + 1]
push eax
lea eax, [esp + 0x2b4]
push eax
lea eax, [esp + 0x11d0]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [edi + 0xc]
push eax
lea eax, [esp + 0x2a0]
push eax
lea eax, [esp + 0x11bc]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b9753]
push eax
lea eax, [esp + 0x28c]
push eax
movzx eax, byte [ebx + 3]
push eax
lea eax, [esp + 0x27c]
push eax
movsx eax, byte [0x100b98c7]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0x11bc]
push eax
call fcn.10014683
add esp, 0x10
push eax
lea eax, [esp + 0x119c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1180]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1164]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1148]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x112c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1110]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x10f4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x10d8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x10bc]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x10a0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1084]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1068]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x104c]
push eax
call fcn.1001466a
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10020e1a
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
or eax, 0xffffffff
push 7
mov dword [esp + 0x44], eax
jmp 0x10021432
movzx eax, byte [0x100b9a36]
mov esi, 0x100b9678
cmp dword [0x100b968c], 0x10
push eax
cmovae esi, dword [0x100b9678]
lea eax, [esp + 0x220]
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0x210]
mov dword [esp + 0x238], ebx
push eax
lea eax, [esp + 0x1fc]
mov dword [esp + 0x240], edi
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x1044]
mov byte [esp + 0x234], bl
push eax
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], edi
mov byte [esp + 0x220], bl
mov dword [esp + 0x218], ebx
mov dword [esp + 0x21c], edi
mov byte [esp + 0x208], bl
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], edi
mov byte [esp + 0x1f0], bl
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], edi
mov byte [esp + 0x1d8], bl
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], edi
mov byte [esp + 0x1c0], bl
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], edi
mov byte [esp + 0x1a8], bl
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], edi
mov byte [esp + 0x190], bl
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1e8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0x1d8]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x1038]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x1c8]
push eax
lea eax, [esp + 0x1b4]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x1a4]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x1034]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1018]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xffc]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xfe0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xfc4]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xfa8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xf8c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xf70]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xf54]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xf38]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xf1c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xf00]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xee4]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x1002107c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100bc11c], eax
test eax, eax
je 0x10021438
push 0x10
pop ecx
cmp dword [0x100b922c], ecx
mov eax, 0x100b9218
mov dword [esp + 0x170], edi
mov esi, ebp
cmovae eax, dword [0x100b9218]
cmp dword [0x100b98bc], ecx
mov dword [esp + 0x158], edi
cmovae esi, dword [0x100b98a8]
cmp dword [0x100b98a4], ecx
mov dword [esp + 0x140], edi
mov dword [esp + 0x128], edi
mov dword [esp + 0x110], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xc8], edi
mov edi, 0x100b9890
cmovae edi, dword [0x100b9890]
cmp dword [0x100b955c], ecx
mov dword [esp + 0x16c], ebx
mov byte [esp + 0x15c], bl
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
mov dword [esp + 0x13c], ebx
mov byte [esp + 0x12c], bl
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], bl
mov dword [esp + 0x10c], ebx
mov byte [esp + 0xfc], bl
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xcc], bl
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
mov ebx, 0x100b9548
cmovae ebx, dword [0x100b9548]
xor ecx, ecx
push 0xf
pop edx
mov dword [esp + 0x7c], ecx
mov byte [esp + 0x6c], cl
mov dword [esp + 0x64], ecx
mov byte [esp + 0x54], cl
lea ecx, [esp + 0x15c]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x68], edx
movzx eax, byte [eax + 3]
push ecx
push eax
lea eax, [esp + 0xecc]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [str.oEgbooo]
push eax
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0xeb8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x134]
push eax
movzx eax, byte [0x100b95fe]
push eax
lea eax, [esp + 0xea4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xe90]
push eax
call fcn.10014683
add esp, 0xc
push eax
movsx eax, byte [0x100b90e1]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0xe80]
push eax
call fcn.10014683
add esp, 0x10
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0xe68]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b90dd]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xe54]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [esi + 1]
push eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0xe40]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [edi + 0xc]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xe2c]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b9753]
push eax
lea eax, [esp + 0xac]
push eax
movzx eax, byte [ebx + 3]
push eax
lea eax, [esp + 0x9c]
push eax
movsx eax, byte [0x100b98c7]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xe2c]
push eax
call fcn.10014683
add esp, 0x10
push eax
lea eax, [esp + 0xe0c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xdf0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xdd4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xdb8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xd9c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xd80]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xd64]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xd48]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xd2c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xd10]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xcf4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xcd8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0xcbc]
push eax
call fcn.1001466a
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10021418
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x1fffffff
mov ecx, eax
push 0xfffffffffffffff8
mov dword [esp + 0x14], esi
pop ebx
push 0xf
pop edi
jmp 0x1002143f
mov ecx, ebx
mov ebx, 0x3fffff8
mov eax, dword [esp + 0x48]
mov esi, 0x1000
push 0x40
push esi
push dword [eax + 0x50]
push 0
call ecx
mov dword [0x100bc108], eax
mov eax, dword [esp + 0x10]
test eax, 0x10000000
je 0x1002147b
and eax, 0xefffffff
lea ecx, [esp + 0xcb4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x8000000
je 0x1002149b
and eax, 0xf7ffffff
lea ecx, [esp + 0xccc]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x4000000
je 0x100214bb
and eax, 0xfbffffff
lea ecx, [esp + 0xce4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x2000000
je 0x100214db
and eax, 0xfdffffff
lea ecx, [esp + 0xcfc]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x1000000
je 0x100214fb
and eax, 0xfeffffff
lea ecx, [esp + 0xd14]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x800000
je 0x1002151b
and eax, 0xff7fffff
lea ecx, [esp + 0xd2c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x400000
je 0x1002153b
and eax, 0xffbfffff
lea ecx, [esp + 0xd44]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x200000
je 0x1002155b
and eax, 0xffdfffff
lea ecx, [esp + 0xd5c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x100000
je 0x1002157b
and eax, 0xffefffff
lea ecx, [esp + 0xd74]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x80000
je 0x1002159b
and eax, 0xfff7ffff
lea ecx, [esp + 0xd8c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x40000
je 0x100215bb
and eax, 0xfffbffff
lea ecx, [esp + 0xda4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x20000
je 0x100215db
and eax, 0xfffdffff
lea ecx, [esp + 0xdbc]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x10000
je 0x100215fb
and eax, 0xfffeffff
lea ecx, [esp + 0xdd4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x8000
je 0x1002161b
and eax, 0xffff7fff
lea ecx, [esp + 0xdec]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x4000
je 0x10021655
mov ecx, dword [esp + 0x68]
and eax, 0xffffbfff
mov dword [esp + 0x10], eax
cmp ecx, 0x10
jb 0x10021647
lea eax, [ecx + 1]
push eax
push dword [esp + 0x58]
call fcn.100024f0
mov eax, dword [esp + 0x18]
pop ecx
pop ecx
and dword [esp + 0x64], 0
mov dword [esp + 0x68], edi
mov byte [esp + 0x54], 0
test eax, 0x2000
je 0x10021695
mov ecx, dword [esp + 0x80]
and eax, 0xffffdfff
mov dword [esp + 0x10], eax
cmp ecx, 0x10
jb 0x10021684
lea eax, [ecx + 1]
push eax
push dword [esp + 0x70]
call fcn.100024f0
mov eax, dword [esp + 0x18]
pop ecx
pop ecx
and dword [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov byte [esp + 0x6c], 0
test esi, eax
je 0x100216b2
and eax, 0xffffefff
lea ecx, [esp + 0x84]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x800
je 0x100216d2
and eax, 0xfffff7ff
lea ecx, [esp + 0xe04]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x400
je 0x100216f2
and eax, 0xfffffbff
lea ecx, [esp + 0x9c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x200
je 0x10021712
and eax, 0xfffffdff
lea ecx, [esp + 0xe1c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test eax, 0x100
je 0x10021732
and eax, 0xfffffeff
lea ecx, [esp + 0xb4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, al
jns 0x1002174f
and eax, 0xffffff7f
lea ecx, [esp + 0xe34]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 0x40
je 0x1002176a
and eax, 0xffffffbf
lea ecx, [esp + 0xcc]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 0x20
je 0x10021785
and eax, 0xffffffdf
lea ecx, [esp + 0xe4c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 0x10
je 0x100217a0
and eax, 0xffffffef
lea ecx, [esp + 0xe4]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 8
je 0x100217bb
and eax, 0xfffffff7
lea ecx, [esp + 0xe64]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 4
je 0x100217d6
and eax, 0xfffffffb
lea ecx, [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 2
je 0x100217f1
and eax, 0xfffffffd
lea ecx, [esp + 0xe7c]
mov dword [esp + 0x10], eax
call fcn.10015c03
mov eax, dword [esp + 0x10]
test al, 1
je 0x10021808
and eax, 0xfffffffe
lea ecx, [esp + 0x114]
mov dword [esp + 0x10], eax
call fcn.10015c03
test ebx, ebx
jns 0x1002181e
lea ecx, [esp + 0xe94]
and ebx, 0x7fffffff
call fcn.10015c03
test ebx, 0x40000000
je 0x10021838
lea ecx, [esp + 0x12c]
and ebx, 0xbfffffff
call fcn.10015c03
test ebx, 0x20000000
je 0x10021852
lea ecx, [esp + 0xeac]
and ebx, 0xdfffffff
call fcn.10015c03
test ebx, 0x10000000
je 0x1002186c
lea ecx, [esp + 0x144]
and ebx, 0xefffffff
call fcn.10015c03
test ebx, 0x8000000
je 0x10021886
lea ecx, [esp + 0xec4]
and ebx, 0xf7ffffff
call fcn.10015c03
test ebx, 0x4000000
je 0x100218a0
lea ecx, [esp + 0x15c]
and ebx, 0xfbffffff
call fcn.10015c03
test ebx, 0x2000000
je 0x100218ba
lea ecx, [esp + 0xedc]
and ebx, 0xfdffffff
call fcn.10015c03
test ebx, 0x1000000
je 0x100218d4
lea ecx, [esp + 0xef4]
and ebx, 0xfeffffff
call fcn.10015c03
test ebx, 0x800000
je 0x100218ee
lea ecx, [esp + 0xf0c]
and ebx, 0xff7fffff
call fcn.10015c03
test ebx, 0x400000
je 0x10021908
lea ecx, [esp + 0xf24]
and ebx, 0xffbfffff
call fcn.10015c03
test ebx, 0x200000
je 0x10021922
lea ecx, [esp + 0xf3c]
and ebx, 0xffdfffff
call fcn.10015c03
test ebx, 0x100000
je 0x1002193c
lea ecx, [esp + 0xf54]
and ebx, 0xffefffff
call fcn.10015c03
test ebx, 0x80000
je 0x10021956
lea ecx, [esp + 0xf6c]
and ebx, 0xfff7ffff
call fcn.10015c03
test ebx, 0x40000
je 0x10021970
lea ecx, [esp + 0xf84]
and ebx, 0xfffbffff
call fcn.10015c03
test ebx, 0x20000
je 0x1002198a
lea ecx, [esp + 0xf9c]
and ebx, 0xfffdffff
call fcn.10015c03
test ebx, 0x10000
je 0x100219a4
lea ecx, [esp + 0xfb4]
and ebx, 0xfffeffff
call fcn.10015c03
test ebx, 0x8000
je 0x100219be
lea ecx, [esp + 0xfcc]
and ebx, 0xffff7fff
call fcn.10015c03
test ebx, 0x4000
je 0x100219d8
lea ecx, [esp + 0xfe4]
and ebx, 0xffffbfff
call fcn.10015c03
test ebx, 0x2000
je 0x100219f2
lea ecx, [esp + 0xffc]
and ebx, 0xffffdfff
call fcn.10015c03
test esi, ebx
je 0x10021a08
lea ecx, [esp + 0x174]
and ebx, 0xffffefff
call fcn.10015c03
test ebx, 0x800
je 0x10021a22
lea ecx, [esp + 0x18c]
and ebx, 0xfffff7ff
call fcn.10015c03
test ebx, 0x400
je 0x10021a3c
lea ecx, [esp + 0x1a4]
and ebx, 0xfffffbff
call fcn.10015c03
test ebx, 0x200
je 0x10021a56
lea ecx, [esp + 0x1014]
and ebx, 0xfffffdff
call fcn.10015c03
test ebx, 0x100
je 0x10021a70
lea ecx, [esp + 0x1bc]
and ebx, 0xfffffeff
call fcn.10015c03
test bl, bl
jns 0x10021a86
lea ecx, [esp + 0x1d4]
and ebx, 0xffffff7f
call fcn.10015c03
test bl, 0x40
je 0x10021a9a
lea ecx, [esp + 0x102c]
and ebx, 0xffffffbf
call fcn.10015c03
test bl, 0x20
je 0x10021aae
lea ecx, [esp + 0x1ec]
and ebx, 0xffffffdf
call fcn.10015c03
test bl, 0x10
je 0x10021ac2
lea ecx, [esp + 0x204]
and ebx, 0xffffffef
call fcn.10015c03
test bl, 8
je 0x10021ad6
lea ecx, [esp + 0x21c]
and ebx, 0xfffffff7
call fcn.10015c03
test bl, 4
je 0x10021aea
lea ecx, [esp + 0x1044]
and ebx, 0xfffffffb
call fcn.10015c03
test bl, 2
je 0x10021afb
lea ecx, [esp + 0x105c]
call fcn.10015c03
test bl, 1
je 0x10021b0c
lea ecx, [esp + 0x1074]
call fcn.10015c03
mov ebx, dword [esp + 0x40]
test ebx, ebx
jns 0x10021b26
lea ecx, [esp + 0x108c]
and ebx, 0x7fffffff
call fcn.10015c03
test ebx, 0x40000000
je 0x10021b40
lea ecx, [esp + 0x10a4]
and ebx, 0xbfffffff
call fcn.10015c03
test ebx, 0x20000000
je 0x10021b5a
lea ecx, [esp + 0x10bc]
and ebx, 0xdfffffff
call fcn.10015c03
test ebx, 0x10000000
je 0x10021b74
lea ecx, [esp + 0x10d4]
and ebx, 0xefffffff
call fcn.10015c03
test ebx, 0x8000000
je 0x10021b8e
lea ecx, [esp + 0x10ec]
and ebx, 0xf7ffffff
call fcn.10015c03
test ebx, 0x4000000
je 0x10021ba8
lea ecx, [esp + 0x1104]
and ebx, 0xfbffffff
call fcn.10015c03
test ebx, 0x2000000
je 0x10021bc2
lea ecx, [esp + 0x111c]
and ebx, 0xfdffffff
call fcn.10015c03
test ebx, 0x1000000
je 0x10021bdc
lea ecx, [esp + 0x1134]
and ebx, 0xfeffffff
call fcn.10015c03
test ebx, 0x800000
je 0x10021bf6
lea ecx, [esp + 0x114c]
and ebx, 0xff7fffff
call fcn.10015c03
test ebx, 0x400000
je 0x10021c10
lea ecx, [esp + 0x1164]
and ebx, 0xffbfffff
call fcn.10015c03
test ebx, 0x200000
je 0x10021c2a
lea ecx, [esp + 0x117c]
and ebx, 0xffdfffff
call fcn.10015c03
test ebx, 0x100000
je 0x10021c44
lea ecx, [esp + 0x234]
and ebx, 0xffefffff
call fcn.10015c03
test ebx, 0x80000
je 0x10021c5e
lea ecx, [esp + 0x24c]
and ebx, 0xfff7ffff
call fcn.10015c03
test ebx, 0x40000
je 0x10021c78
lea ecx, [esp + 0x264]
and ebx, 0xfffbffff
call fcn.10015c03
test ebx, 0x20000
je 0x10021c92
lea ecx, [esp + 0x1194]
and ebx, 0xfffdffff
call fcn.10015c03
test ebx, 0x10000
je 0x10021cac
lea ecx, [esp + 0x27c]
and ebx, 0xfffeffff
call fcn.10015c03
test ebx, 0x8000
je 0x10021cc6
lea ecx, [esp + 0x11ac]
and ebx, 0xffff7fff
call fcn.10015c03
test ebx, 0x4000
je 0x10021ce0
lea ecx, [esp + 0x294]
and ebx, 0xffffbfff
call fcn.10015c03
test ebx, 0x2000
je 0x10021cfa
lea ecx, [esp + 0x11c4]
and ebx, 0xffffdfff
call fcn.10015c03
test esi, ebx
je 0x10021d10
lea ecx, [esp + 0x2ac]
and ebx, 0xffffefff
call fcn.10015c03
test ebx, 0x800
je 0x10021d2a
lea ecx, [esp + 0x11dc]
and ebx, 0xfffff7ff
call fcn.10015c03
test ebx, 0x400
je 0x10021d44
lea ecx, [esp + 0x2c4]
and ebx, 0xfffffbff
call fcn.10015c03
test ebx, 0x200
je 0x10021d5e
lea ecx, [esp + 0x11f4]
and ebx, 0xfffffdff
call fcn.10015c03
test ebx, 0x100
je 0x10021d78
lea ecx, [esp + 0x2dc]
and ebx, 0xfffffeff
call fcn.10015c03
test bl, bl
jns 0x10021d8e
lea ecx, [esp + 0x120c]
and ebx, 0xffffff7f
call fcn.10015c03
test bl, 0x40
je 0x10021da2
lea ecx, [esp + 0x2f4]
and ebx, 0xffffffbf
call fcn.10015c03
test bl, 0x20
je 0x10021db6
lea ecx, [esp + 0x1224]
and ebx, 0xffffffdf
call fcn.10015c03
test bl, 0x10
je 0x10021dca
lea ecx, [esp + 0x30c]
and ebx, 0xffffffef
call fcn.10015c03
test bl, 8
je 0x10021dde
lea ecx, [esp + 0x123c]
and ebx, 0xfffffff7
call fcn.10015c03
test bl, 4
je 0x10021df2
lea ecx, [esp + 0x324]
and ebx, 0xfffffffb
call fcn.10015c03
test bl, 2
je 0x10021e06
lea ecx, [esp + 0x1254]
and ebx, 0xfffffffd
call fcn.10015c03
test bl, 1
je 0x10021e17
lea ecx, [esp + 0x33c]
call fcn.10015c03
lea ecx, [esp + 0x126c]
call fcn.10015c03
lea ecx, [esp + 0x1284]
call fcn.10015c03
lea ecx, [esp + 0x129c]
call fcn.10015c03
lea ecx, [esp + 0x12b4]
call fcn.10015c03
lea ecx, [esp + 0x12cc]
call fcn.10015c03
lea ecx, [esp + 0x12e4]
call fcn.10015c03
lea ecx, [esp + 0x12fc]
call fcn.10015c03
lea ecx, [esp + 0x1314]
call fcn.10015c03
lea ecx, [esp + 0x132c]
call fcn.10015c03
lea ecx, [esp + 0x1344]
call fcn.10015c03
lea ecx, [esp + 0x135c]
call fcn.10015c03
lea ecx, [esp + 0x1374]
call fcn.10015c03
lea ecx, [esp + 0x138c]
call fcn.10015c03
lea ecx, [esp + 0x354]
call fcn.10015c03
lea ecx, [esp + 0x36c]
call fcn.10015c03
lea ecx, [esp + 0x384]
call fcn.10015c03
lea ecx, [esp + 0x13a4]
call fcn.10015c03
lea ecx, [esp + 0x39c]
call fcn.10015c03
lea ecx, [esp + 0x3b4]
call fcn.10015c03
lea ecx, [esp + 0x13bc]
call fcn.10015c03
lea ecx, [esp + 0x3cc]
call fcn.10015c03
lea ecx, [esp + 0x3e4]
call fcn.10015c03
lea ecx, [esp + 0x3fc]
call fcn.10015c03
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [0x100b968c], 0x10
mov esi, 0x100b9678
mov dword [esp + 0x4c], eax
cmovae esi, dword [0x100b9678]
mov dword [esp + 0x82c], eax
mov byte [esp + 0x81c], al
mov dword [esp + 0x814], eax
mov byte [esp + 0x804], al
mov dword [esp + 0x7fc], eax
mov byte [esp + 0x7ec], al
mov dword [esp + 0x7e4], eax
mov byte [esp + 0x7d4], al
mov dword [esp + 0x7cc], eax
mov byte [esp + 0x7bc], al
mov dword [esp + 0x7b4], eax
mov byte [esp + 0x7a4], al
mov dword [esp + 0x79c], eax
mov byte [esp + 0x78c], al
mov dword [esp + 0x784], eax
mov byte [esp + 0x774], al
movzx eax, byte [0x100b9a36]
push eax
lea eax, [esp + 0x820]
mov dword [esp + 0x834], edi
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0x810]
mov dword [esp + 0x824], edi
push eax
lea eax, [esp + 0x7fc]
mov dword [esp + 0x810], edi
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x1bb4]
mov dword [esp + 0x800], edi
push eax
mov dword [esp + 0x7ec], edi
mov dword [esp + 0x7d4], edi
mov dword [esp + 0x7bc], edi
mov dword [esp + 0x7a4], edi
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x7e8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0x7d8]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x1ba8]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x7c8]
push eax
lea eax, [esp + 0x7b4]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x7a4]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x1ba4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1b88]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1b6c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1b50]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1b34]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1b18]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1afc]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1ae0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1ac4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1aa8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1a8c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1a70]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1a54]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x1002217a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100bc11c], eax
test eax, eax
je 0x10022619
mov ecx, dword [0x100b98a4]
or ebx, 0x20000000
mov eax, dword [0x100b9890]
or ebx, 0xc0000000
cmp ecx, 0x10
mov dword [esp + 0x10], ebx
push 0xf
pop esi
mov edi, 0x100b9890
mov dword [esp + 0x770], esi
cmovae edi, eax
mov dword [esp + 0x758], esi
xor ebx, ebx
mov dword [esp + 0x740], esi
cmp dword [0x100b922c], 0x10
mov edx, 0x100b9218
mov dword [esp + 0x728], esi
mov esi, 0x100b9890
cmovae edx, dword [0x100b9218]
cmp ecx, 0x10
mov dword [esp + 0x76c], ebx
cmovae esi, eax
mov byte [esp + 0x75c], bl
cmp dword [0x100b98bc], 0x10
mov dword [esp + 0x754], ebx
cmovae ebp, dword [0x100b98a8]
cmp ecx, 0x10
mov byte [esp + 0x744], bl
mov dword [esp + 0x73c], ebx
mov byte [esp + 0x72c], bl
mov dword [esp + 0x724], ebx
mov byte [esp + 0x714], bl
mov dword [esp + 0x70c], ebx
mov byte [esp + 0x6fc], bl
mov dword [esp + 0x6f4], ebx
mov byte [esp + 0x6e4], bl
mov dword [esp + 0x6dc], ebx
mov byte [esp + 0x6cc], bl
mov dword [esp + 0x6c4], ebx
mov byte [esp + 0x6b4], bl
mov dword [esp + 0x6ac], ebx
mov byte [esp + 0x69c], bl
mov dword [esp + 0x694], ebx
mov byte [esp + 0x684], bl
mov ebx, 0x100b9890
cmovae ebx, eax
mov dword [esp + 0x710], 0xf
xor eax, eax
mov dword [esp + 0x6f8], 0xf
cmp dword [0x100b955c], 0x10
push 0xf
pop ecx
mov dword [esp + 0x67c], eax
mov byte [esp + 0x66c], al
mov dword [esp + 0x664], eax
mov byte [esp + 0x654], al
mov dword [esp + 0x64c], eax
mov byte [esp + 0x63c], al
mov dword [esp + 0x634], eax
mov byte [esp + 0x624], al
mov dword [esp + 0x6e0], 0xf
mov dword [esp + 0x6c8], 0xf
mov dword [esp + 0x6b0], 0xf
mov dword [esp + 0x698], 0xf
mov dword [esp + 0x680], ecx
mov dword [esp + 0x668], ecx
mov dword [esp + 0x650], ecx
mov dword [esp + 0x638], ecx
movzx eax, byte [edi + 3]
push eax
lea eax, [esp + 0x760]
mov dword [esp + 0x44], ebp
push eax
movzx eax, byte [edx]
mov ebp, 0x100b9548
cmovae ebp, dword [0x100b9548]
push eax
lea eax, [esp + 0x750]
push eax
lea eax, [esp + 0x1a44]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x738]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x1a30]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x724]
push eax
movzx eax, byte [esi + 7]
push eax
lea eax, [esp + 0x1a1c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9694]
push eax
lea eax, [esp + 0x714]
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0x704]
push eax
movsx eax, byte [0x100b96d7]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x6f4]
push eax
lea eax, [esp + 0x6e0]
push eax
movzx eax, byte [0x100b9601]
push eax
lea eax, [esp + 0x6d0]
push eax
movzx eax, byte [0x100b90d9]
push eax
lea eax, [esp + 0x1a28]
push eax
call fcn.100146a8
add esp, 0xc
push eax
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + 1]
push eax
lea eax, [esp + 0x6c0]
push eax
movzx eax, byte [ebx + 7]
push eax
lea eax, [esp + 0x6b0]
push eax
lea eax, [esp + 0x1a1c]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x69c]
push eax
lea eax, [esp + 0x688]
push eax
movzx eax, byte [ebp + 3]
push eax
lea eax, [esp + 0x1a10]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x674]
push eax
movsx eax, byte [0x100b98ca]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x19fc]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x19e0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x19c4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x19a8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x198c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1970]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1954]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1938]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x191c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1900]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x18e4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x18c8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x18ac]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1890]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1874]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1858]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x183c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1820]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1804]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x17e8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x17cc]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x100225fb
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
or eax, 0xffffffff
push 0x3f
pop ebx
mov dword [esp + 0x44], eax
jmp 0x10022cf8
movzx eax, byte [0x100b9a36]
xor ebx, ebx
cmp dword [0x100b968c], 0x10
mov esi, 0x100b9678
push eax
cmovae esi, dword [0x100b9678]
lea eax, [esp + 0x610]
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0x600]
mov dword [esp + 0x628], ebx
push eax
lea eax, [esp + 0x5ec]
mov dword [esp + 0x630], edi
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x17c4]
mov byte [esp + 0x624], bl
push eax
mov dword [esp + 0x620], ebx
mov dword [esp + 0x624], edi
mov byte [esp + 0x610], bl
mov dword [esp + 0x608], ebx
mov dword [esp + 0x60c], edi
mov byte [esp + 0x5f8], bl
mov dword [esp + 0x5f0], ebx
mov dword [esp + 0x5f4], edi
mov byte [esp + 0x5e0], bl
mov dword [esp + 0x5d8], ebx
mov dword [esp + 0x5dc], edi
mov byte [esp + 0x5c8], bl
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x5c4], edi
mov byte [esp + 0x5b0], bl
mov dword [esp + 0x5a8], ebx
mov dword [esp + 0x5ac], edi
mov byte [esp + 0x598], bl
mov dword [esp + 0x590], ebx
mov dword [esp + 0x594], edi
mov byte [esp + 0x580], bl
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x5d8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0x5c8]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x17b8]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x5b8]
push eax
lea eax, [esp + 0x5a4]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x594]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x17b4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1798]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x177c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1760]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1744]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1728]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x170c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x16f0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x16d4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x16b8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x169c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1680]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1664]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10022860
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100bc11c], eax
test eax, eax
je 0x10022cf1
mov ecx, dword [0x100b98a4]
mov edi, 0x100b9890
mov eax, dword [0x100b9890]
cmp ecx, 0x10
push 0xf
cmovae edi, eax
mov dword [esp + 0x560], ebx
cmp dword [0x100b922c], 0x10
mov edx, 0x100b9218
pop esi
cmovae edx, dword [0x100b9218]
cmp ecx, 0x10
mov dword [esp + 0x560], esi
mov dword [esp + 0x548], esi
mov dword [esp + 0x530], esi
mov dword [esp + 0x518], esi
mov esi, 0x100b9890
cmovae esi, eax
mov byte [esp + 0x54c], bl
cmp dword [0x100b98bc], 0x10
mov dword [esp + 0x544], ebx
cmovae ebp, dword [0x100b98a8]
cmp ecx, 0x10
mov byte [esp + 0x534], bl
mov dword [esp + 0x52c], ebx
mov byte [esp + 0x51c], bl
mov dword [esp + 0x514], ebx
mov byte [esp + 0x504], bl
mov dword [esp + 0x4fc], ebx
mov byte [esp + 0x4ec], bl
mov dword [esp + 0x4e4], ebx
mov byte [esp + 0x4d4], bl
mov dword [esp + 0x4cc], ebx
mov byte [esp + 0x4bc], bl
mov dword [esp + 0x4b4], ebx
mov byte [esp + 0x4a4], bl
mov dword [esp + 0x49c], ebx
mov byte [esp + 0x48c], bl
mov dword [esp + 0x484], ebx
mov byte [esp + 0x474], bl
mov ebx, 0x100b9890
cmovae ebx, eax
mov dword [esp + 0x500], 0xf
xor eax, eax
mov dword [esp + 0x4e8], 0xf
cmp dword [0x100b955c], 0x10
push 0xf
pop ecx
mov dword [esp + 0x46c], eax
mov byte [esp + 0x45c], al
mov dword [esp + 0x454], eax
mov byte [esp + 0x444], al
mov dword [esp + 0x43c], eax
mov byte [esp + 0x42c], al
mov dword [esp + 0x424], eax
mov byte [esp + 0x414], al
mov dword [esp + 0x4d0], 0xf
mov dword [esp + 0x4b8], 0xf
mov dword [esp + 0x4a0], 0xf
mov dword [esp + 0x488], 0xf
mov dword [esp + 0x470], ecx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x440], ecx
mov dword [esp + 0x428], ecx
movzx eax, byte [edi + 3]
push eax
lea eax, [esp + 0x550]
mov dword [esp + 0x44], ebp
push eax
movzx eax, byte [edx]
mov ebp, 0x100b9548
cmovae ebp, dword [0x100b9548]
push eax
lea eax, [esp + 0x540]
push eax
lea eax, [esp + 0x1654]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x528]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x1640]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x514]
push eax
movzx eax, byte [esi + 7]
push eax
lea eax, [esp + 0x162c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9694]
push eax
lea eax, [esp + 0x504]
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0x4f4]
push eax
movsx eax, byte [0x100b96d7]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x4e4]
push eax
lea eax, [esp + 0x4d0]
push eax
movzx eax, byte [0x100b9601]
push eax
lea eax, [esp + 0x4c0]
push eax
movzx eax, byte [0x100b90d9]
push eax
lea eax, [esp + 0x1638]
push eax
call fcn.100146a8
add esp, 0xc
push eax
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + 1]
push eax
lea eax, [esp + 0x4b0]
push eax
movzx eax, byte [ebx + 7]
push eax
lea eax, [esp + 0x4a0]
push eax
lea eax, [esp + 0x162c]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x48c]
push eax
lea eax, [esp + 0x478]
push eax
movzx eax, byte [ebp + 3]
push eax
lea eax, [esp + 0x1620]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x464]
push eax
movsx eax, byte [0x100b98ca]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x160c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x15f0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x15d4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x15b8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x159c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1580]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1564]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1548]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x152c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1510]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x14f4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x14d8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x14bc]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x14a0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1484]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1468]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x144c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1430]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1414]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x13f8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x13dc]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10022ccf
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x3f
mov ecx, eax
pop eax
mov dword [esp + 0x1c], eax
or eax, 0xffffffff
push 0xffffffffffffffc0
pop ebx
mov dword [esp + 0x18], eax
jmp 0x10022cf8
mov ecx, ebx
mov ebx, 0x1fffffc0
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x4c]
push eax
push 0x40
push dword [ebp + 0x50]
push dword [0x100bc108]
call ecx
mov edi, eax
mov eax, dword [esp + 0x1c]
test al, 0x20
je 0x10022d2f
and eax, 0xffffffdf
lea ecx, [esp + 0x13d4]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x1c]
test al, 0x10
je 0x10022d4a
and eax, 0xffffffef
lea ecx, [esp + 0x13ec]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x1c]
test al, 8
je 0x10022d65
and eax, 0xfffffff7
lea ecx, [esp + 0x1404]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x1c]
test al, 4
je 0x10022d80
and eax, 0xfffffffb
lea ecx, [esp + 0x141c]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x1c]
test al, 2
je 0x10022d9b
and eax, 0xfffffffd
lea ecx, [esp + 0x1434]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x1c]
test al, 1
je 0x10022db2
and eax, 0xfffffffe
lea ecx, [esp + 0x144c]
mov dword [esp + 0x1c], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x10022dd3
and eax, 0x7fffffff
lea ecx, [esp + 0x1464]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x40000000
je 0x10022df3
and eax, 0xbfffffff
lea ecx, [esp + 0x147c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x20000000
je 0x10022e13
and eax, 0xdfffffff
lea ecx, [esp + 0x1494]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x10000000
je 0x10022e33
and eax, 0xefffffff
lea ecx, [esp + 0x14ac]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x8000000
je 0x10022e53
and eax, 0xf7ffffff
lea ecx, [esp + 0x14c4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x4000000
je 0x10022e73
and eax, 0xfbffffff
lea ecx, [esp + 0x14dc]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x2000000
je 0x10022e93
and eax, 0xfdffffff
lea ecx, [esp + 0x14f4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x1000000
je 0x10022eb3
and eax, 0xfeffffff
lea ecx, [esp + 0x150c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x800000
je 0x10022ed3
and eax, 0xff7fffff
lea ecx, [esp + 0x1524]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x400000
je 0x10022ef3
and eax, 0xffbfffff
lea ecx, [esp + 0x153c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x200000
je 0x10022f13
and eax, 0xffdfffff
lea ecx, [esp + 0x1554]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x100000
je 0x10022f33
and eax, 0xffefffff
lea ecx, [esp + 0x156c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x80000
je 0x10022f53
and eax, 0xfff7ffff
lea ecx, [esp + 0x1584]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x40000
je 0x10022f73
and eax, 0xfffbffff
lea ecx, [esp + 0x159c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x20000
je 0x10022f93
and eax, 0xfffdffff
lea ecx, [esp + 0x15b4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x10000
je 0x10022fb3
and eax, 0xfffeffff
lea ecx, [esp + 0x414]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x8000
je 0x10022fd3
and eax, 0xffff7fff
lea ecx, [esp + 0x15cc]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x4000
je 0x10022ff3
and eax, 0xffffbfff
lea ecx, [esp + 0x42c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x2000
je 0x10023013
and eax, 0xffffdfff
lea ecx, [esp + 0x444]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
bt eax, 0xc
jae 0x10023032
and eax, 0xffffefff
lea ecx, [esp + 0x15e4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x800
je 0x10023052
and eax, 0xfffff7ff
lea ecx, [esp + 0x45c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x400
je 0x10023072
and eax, 0xfffffbff
lea ecx, [esp + 0x474]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x200
je 0x10023092
and eax, 0xfffffdff
lea ecx, [esp + 0x15fc]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test eax, 0x100
je 0x100230b2
and eax, 0xfffffeff
lea ecx, [esp + 0x48c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, al
jns 0x100230cf
and eax, 0xffffff7f
lea ecx, [esp + 0x4a4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 0x40
je 0x100230ea
and eax, 0xffffffbf
lea ecx, [esp + 0x4bc]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 0x20
je 0x10023105
and eax, 0xffffffdf
lea ecx, [esp + 0x4d4]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 0x10
je 0x10023120
and eax, 0xffffffef
lea ecx, [esp + 0x4ec]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 8
je 0x1002313b
and eax, 0xfffffff7
lea ecx, [esp + 0x1614]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 4
je 0x10023156
and eax, 0xfffffffb
lea ecx, [esp + 0x504]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 2
je 0x10023171
and eax, 0xfffffffd
lea ecx, [esp + 0x162c]
mov dword [esp + 0x18], eax
call fcn.10015c03
mov eax, dword [esp + 0x18]
test al, 1
je 0x10023181
lea ecx, [esp + 0x51c]
call fcn.10015c03
test ebx, ebx
jns 0x10023197
lea ecx, [esp + 0x1644]
and ebx, 0x7fffffff
call fcn.10015c03
test ebx, 0x40000000
je 0x100231b1
lea ecx, [esp + 0x534]
and ebx, 0xbfffffff
call fcn.10015c03
test ebx, 0x20000000
je 0x100231cb
lea ecx, [esp + 0x54c]
and ebx, 0xdfffffff
call fcn.10015c03
test ebx, 0x10000000
je 0x100231e5
lea ecx, [esp + 0x165c]
and ebx, 0xefffffff
call fcn.10015c03
test ebx, 0x8000000
je 0x100231ff
lea ecx, [esp + 0x1674]
and ebx, 0xf7ffffff
call fcn.10015c03
test ebx, 0x4000000
je 0x10023219
lea ecx, [esp + 0x168c]
and ebx, 0xfbffffff
call fcn.10015c03
test ebx, 0x2000000
je 0x10023233
lea ecx, [esp + 0x16a4]
and ebx, 0xfdffffff
call fcn.10015c03
test ebx, 0x1000000
je 0x1002324d
lea ecx, [esp + 0x16bc]
and ebx, 0xfeffffff
call fcn.10015c03
test ebx, 0x800000
je 0x10023267
lea ecx, [esp + 0x16d4]
and ebx, 0xff7fffff
call fcn.10015c03
test ebx, 0x400000
je 0x10023281
lea ecx, [esp + 0x16ec]
and ebx, 0xffbfffff
call fcn.10015c03
test ebx, 0x200000
je 0x1002329b
lea ecx, [esp + 0x1704]
and ebx, 0xffdfffff
call fcn.10015c03
test ebx, 0x100000
je 0x100232b5
lea ecx, [esp + 0x171c]
and ebx, 0xffefffff
call fcn.10015c03
test ebx, 0x80000
je 0x100232cf
lea ecx, [esp + 0x1734]
and ebx, 0xfff7ffff
call fcn.10015c03
test ebx, 0x40000
je 0x100232e9
lea ecx, [esp + 0x174c]
and ebx, 0xfffbffff
call fcn.10015c03
test ebx, 0x20000
je 0x10023303
lea ecx, [esp + 0x1764]
and ebx, 0xfffdffff
call fcn.10015c03
test ebx, 0x10000
je 0x1002331d
lea ecx, [esp + 0x177c]
and ebx, 0xfffeffff
call fcn.10015c03
test ebx, 0x8000
je 0x10023337
lea ecx, [esp + 0x564]
and ebx, 0xffff7fff
call fcn.10015c03
test ebx, 0x4000
je 0x10023351
lea ecx, [esp + 0x57c]
and ebx, 0xffffbfff
call fcn.10015c03
test ebx, 0x2000
je 0x1002336b
lea ecx, [esp + 0x594]
and ebx, 0xffffdfff
call fcn.10015c03
bt ebx, 0xc
jae 0x10023383
lea ecx, [esp + 0x1794]
and ebx, 0xffffefff
call fcn.10015c03
test ebx, 0x800
je 0x1002339d
lea ecx, [esp + 0x5ac]
and ebx, 0xfffff7ff
call fcn.10015c03
test ebx, 0x400
je 0x100233b7
lea ecx, [esp + 0x5c4]
and ebx, 0xfffffbff
call fcn.10015c03
test ebx, 0x200
je 0x100233d1
lea ecx, [esp + 0x17ac]
and ebx, 0xfffffdff
call fcn.10015c03
test ebx, 0x100
je 0x100233eb
lea ecx, [esp + 0x5dc]
and ebx, 0xfffffeff
call fcn.10015c03
test bl, bl
jns 0x10023401
lea ecx, [esp + 0x5f4]
and ebx, 0xffffff7f
call fcn.10015c03
test bl, 0x40
je 0x10023415
lea ecx, [esp + 0x60c]
and ebx, 0xffffffbf
call fcn.10015c03
test bl, 0x20
je 0x10023429
lea ecx, [esp + 0x17c4]
and ebx, 0xffffffdf
call fcn.10015c03
test bl, 0x10
je 0x1002343d
lea ecx, [esp + 0x17dc]
and ebx, 0xffffffef
call fcn.10015c03
test bl, 8
je 0x10023451
lea ecx, [esp + 0x17f4]
and ebx, 0xfffffff7
call fcn.10015c03
test bl, 4
je 0x10023465
lea ecx, [esp + 0x180c]
and ebx, 0xfffffffb
call fcn.10015c03
test bl, 2
je 0x10023476
lea ecx, [esp + 0x1824]
call fcn.10015c03
test bl, 1
je 0x10023487
lea ecx, [esp + 0x183c]
call fcn.10015c03
mov ebx, dword [esp + 0x44]
test ebx, ebx
jns 0x100234a1
lea ecx, [esp + 0x1854]
and ebx, 0x7fffffff
call fcn.10015c03
test ebx, 0x40000000
je 0x100234bb
lea ecx, [esp + 0x186c]
and ebx, 0xbfffffff
call fcn.10015c03
test ebx, 0x20000000
je 0x100234d5
lea ecx, [esp + 0x1884]
and ebx, 0xdfffffff
call fcn.10015c03
test ebx, 0x10000000
je 0x100234ef
lea ecx, [esp + 0x189c]
and ebx, 0xefffffff
call fcn.10015c03
test ebx, 0x8000000
je 0x10023509
lea ecx, [esp + 0x18b4]
and ebx, 0xf7ffffff
call fcn.10015c03
test ebx, 0x4000000
je 0x10023523
lea ecx, [esp + 0x18cc]
and ebx, 0xfbffffff
call fcn.10015c03
test ebx, 0x2000000
je 0x1002353d
lea ecx, [esp + 0x18e4]
and ebx, 0xfdffffff
call fcn.10015c03
test ebx, 0x1000000
je 0x10023557
lea ecx, [esp + 0x18fc]
and ebx, 0xfeffffff
call fcn.10015c03
test ebx, 0x800000
je 0x10023571
lea ecx, [esp + 0x1914]
and ebx, 0xff7fffff
call fcn.10015c03
test ebx, 0x400000
je 0x1002358b
lea ecx, [esp + 0x192c]
and ebx, 0xffbfffff
call fcn.10015c03
test ebx, 0x200000
je 0x100235a5
lea ecx, [esp + 0x1944]
and ebx, 0xffdfffff
call fcn.10015c03
test ebx, 0x100000
je 0x100235bf
lea ecx, [esp + 0x195c]
and ebx, 0xffefffff
call fcn.10015c03
test ebx, 0x80000
je 0x100235d9
lea ecx, [esp + 0x1974]
and ebx, 0xfff7ffff
call fcn.10015c03
test ebx, 0x40000
je 0x100235f3
lea ecx, [esp + 0x198c]
and ebx, 0xfffbffff
call fcn.10015c03
test ebx, 0x20000
je 0x1002360d
lea ecx, [esp + 0x19a4]
and ebx, 0xfffdffff
call fcn.10015c03
test ebx, 0x10000
je 0x10023627
lea ecx, [esp + 0x624]
and ebx, 0xfffeffff
call fcn.10015c03
test ebx, 0x8000
je 0x10023641
lea ecx, [esp + 0x19bc]
and ebx, 0xffff7fff
call fcn.10015c03
test ebx, 0x4000
je 0x1002365b
lea ecx, [esp + 0x63c]
and ebx, 0xffffbfff
call fcn.10015c03
test ebx, 0x2000
je 0x10023675
lea ecx, [esp + 0x654]
and ebx, 0xffffdfff
call fcn.10015c03
bt ebx, 0xc
jae 0x1002368d
lea ecx, [esp + 0x19d4]
and ebx, 0xffffefff
call fcn.10015c03
test ebx, 0x800
je 0x100236a7
lea ecx, [esp + 0x66c]
and ebx, 0xfffff7ff
call fcn.10015c03
test ebx, 0x400
je 0x100236c1
lea ecx, [esp + 0x684]
and ebx, 0xfffffbff
call fcn.10015c03
test ebx, 0x200
je 0x100236db
lea ecx, [esp + 0x19ec]
and ebx, 0xfffffdff
call fcn.10015c03
test ebx, 0x100
je 0x100236f5
lea ecx, [esp + 0x69c]
and ebx, 0xfffffeff
call fcn.10015c03
test bl, bl
jns 0x1002370b
lea ecx, [esp + 0x6b4]
and ebx, 0xffffff7f
call fcn.10015c03
test bl, 0x40
je 0x1002371f
lea ecx, [esp + 0x6cc]
and ebx, 0xffffffbf
call fcn.10015c03
test bl, 0x20
je 0x10023733
lea ecx, [esp + 0x6e4]
and ebx, 0xffffffdf
call fcn.10015c03
test bl, 0x10
je 0x10023747
lea ecx, [esp + 0x6fc]
and ebx, 0xffffffef
call fcn.10015c03
test bl, 8
je 0x1002375b
lea ecx, [esp + 0x1a04]
and ebx, 0xfffffff7
call fcn.10015c03
test bl, 4
je 0x1002376f
lea ecx, [esp + 0x714]
and ebx, 0xfffffffb
call fcn.10015c03
test bl, 2
je 0x10023783
lea ecx, [esp + 0x1a1c]
and ebx, 0xfffffffd
call fcn.10015c03
test bl, 1
je 0x10023794
lea ecx, [esp + 0x72c]
call fcn.10015c03
mov esi, dword [esp + 0x10]
test esi, esi
jns 0x100237ae
lea ecx, [esp + 0x1a34]
and esi, 0x7fffffff
call fcn.10015c03
test esi, 0x40000000
je 0x100237c8
lea ecx, [esp + 0x744]
and esi, 0xbfffffff
call fcn.10015c03
test esi, 0x20000000
je 0x100237dc
lea ecx, [esp + 0x75c]
call fcn.10015c03
lea ecx, [esp + 0x1a4c]
call fcn.10015c03
lea ecx, [esp + 0x1a64]
call fcn.10015c03
lea ecx, [esp + 0x1a7c]
call fcn.10015c03
lea ecx, [esp + 0x1a94]
call fcn.10015c03
lea ecx, [esp + 0x1aac]
call fcn.10015c03
lea ecx, [esp + 0x1ac4]
call fcn.10015c03
lea ecx, [esp + 0x1adc]
call fcn.10015c03
lea ecx, [esp + 0x1af4]
call fcn.10015c03
lea ecx, [esp + 0x1b0c]
call fcn.10015c03
lea ecx, [esp + 0x1b24]
call fcn.10015c03
lea ecx, [esp + 0x1b3c]
call fcn.10015c03
lea ecx, [esp + 0x1b54]
call fcn.10015c03
lea ecx, [esp + 0x1b6c]
call fcn.10015c03
lea ecx, [esp + 0x774]
call fcn.10015c03
lea ecx, [esp + 0x78c]
call fcn.10015c03
lea ecx, [esp + 0x7a4]
call fcn.10015c03
lea ecx, [esp + 0x1b84]
call fcn.10015c03
lea ecx, [esp + 0x7bc]
call fcn.10015c03
lea ecx, [esp + 0x7d4]
call fcn.10015c03
lea ecx, [esp + 0x1b9c]
call fcn.10015c03
lea ecx, [esp + 0x7ec]
call fcn.10015c03
lea ecx, [esp + 0x804]
call fcn.10015c03
lea ecx, [esp + 0x81c]
call fcn.10015c03
test edi, edi
je 0x1002815a
push dword [ebp + 0x50]
push 0
push dword [0x100bc108]
call fcn.1004a970
push dword [ebp + 0x54]
push dword [0x100bc10c]
push dword [0x100bc108]
call fcn.10049e70
movzx esi, word [ebp + 0x14]
xor eax, eax
add esp, 0x18
add esi, 0x2c
xor edi, edi
cmp ax, word [ebp + 6]
jae 0x1002395c
add esi, ebp
push dword [esi - 4]
mov eax, dword [esi]
add eax, dword [0x100bc10c]
push eax
mov eax, dword [esi - 8]
add eax, dword [0x100bc108]
push eax
call fcn.10049e70
movzx eax, word [ebp + 6]
lea esi, [esi + 0x28]
add esp, 0xc
inc edi
cmp edi, eax
jb 0x10023932
mov edx, dword [0x100bc108]
mov ebx, edx
sub ebx, dword [ebp + 0x34]
je 0x100239c9
cmp dword [ebp + 0xa4], 0
je 0x100239c9
mov ecx, dword [ebp + 0xa0]
add ecx, edx
mov eax, dword [ecx]
test eax, eax
je 0x100239c9
lea ebp, [eax + edx]
mov eax, dword [ecx + 4]
push 0
pop esi
lea edi, [eax - 8]
shr edi, 1
je 0x100239bd
movzx edx, word [ecx + esi*2 + 8]
mov ax, dx
and edx, 0xfff
shr ax, 0xc
cmp al, 3
je 0x100239aa
cmp al, 0xa
jne 0x100239af
mov eax, edx
add dword [eax + ebp], ebx
inc esi
cmp esi, edi
jb 0x10023990
mov eax, dword [ecx + 4]
mov edx, dword [0x100bc108]
add ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x10023980
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x80]
add ebp, edx
jmp 0x100280c9
lea edi, [eax + edx]
mov esi, 0x100b9678
xor eax, eax
cmp dword [0x100b968c], 0x10
push 0xf
pop ecx
cmovae esi, dword [0x100b9678]
mov dword [esp + 0xbec], eax
mov byte [esp + 0xbdc], al
mov dword [esp + 0xbd4], eax
mov byte [esp + 0xbc4], al
mov dword [esp + 0xbbc], eax
mov byte [esp + 0xbac], al
mov dword [esp + 0xba4], eax
mov byte [esp + 0xb94], al
mov dword [esp + 0xb8c], eax
mov byte [esp + 0xb7c], al
mov dword [esp + 0xb74], eax
mov byte [esp + 0xb64], al
mov dword [esp + 0xb5c], eax
mov byte [esp + 0xb4c], al
mov dword [esp + 0xb44], eax
mov byte [esp + 0xb34], al
movzx eax, byte [0x100b9a36]
push eax
lea eax, [esp + 0xbe0]
mov dword [esp + 0xbf4], ecx
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0xbd0]
mov dword [esp + 0xbe4], ecx
push eax
lea eax, [esp + 0xbbc]
mov dword [esp + 0xbd0], ecx
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x22d4]
mov dword [esp + 0xbc0], ecx
push eax
mov dword [esp + 0xbac], ecx
mov dword [esp + 0xb94], ecx
mov dword [esp + 0xb7c], ecx
mov dword [esp + 0xb64], ecx
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0xba8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0xb98]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x22c8]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0xb88]
push eax
lea eax, [esp + 0xb74]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0xb64]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x22c4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x22a8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x228c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2270]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2254]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x2238]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x221c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x2200]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x21e4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x21c8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x21ac]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x2190]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2174]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10023c23
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, dword [esp + 0x30]
mov dword [0x100bc11c], eax
push 0xf
pop ecx
test eax, eax
je 0x10023fdb
mov eax, dword [esp + 0x1c]
or ebx, 1
or eax, 0x40
mov dword [esp + 0xb30], ecx
or eax, 0xffffff80
mov dword [esp + 0xb18], ecx
mov dword [esp + 0x1c], eax
or ebx, 0x1fe
xor eax, eax
mov dword [esp + 0x30], ebx
cmp dword [0x100b955c], 0x10
mov esi, 0x100b9548
mov dword [esp + 0xb2c], eax
cmovae esi, dword [0x100b9548]
mov byte [esp + 0xb1c], al
mov dword [esp + 0xb14], eax
mov byte [esp + 0xb04], al
mov dword [esp + 0xafc], eax
mov byte [esp + 0xaec], al
mov dword [esp + 0xae4], eax
mov byte [esp + 0xad4], al
mov dword [esp + 0xacc], eax
mov byte [esp + 0xabc], al
mov dword [esp + 0xab4], eax
mov byte [esp + 0xaa4], al
mov dword [esp + 0xa9c], eax
mov byte [esp + 0xa8c], al
mov dword [esp + 0xa84], eax
mov byte [esp + 0xa74], al
mov dword [esp + 0xa6c], eax
mov byte [esp + 0xa5c], al
mov dword [esp + 0xa54], eax
mov byte [esp + 0xa44], al
mov dword [esp + 0xa3c], eax
mov byte [esp + 0xa2c], al
mov dword [esp + 0xa24], eax
mov byte [esp + 0xa14], al
lea eax, [esp + 0xb1c]
push eax
movsx eax, byte [0x100b90dc]
push eax
mov dword [esp + 0xb08], ecx
mov dword [esp + 0xaf0], ecx
mov dword [esp + 0xad8], ecx
mov dword [esp + 0xac0], ecx
mov dword [esp + 0xaa8], ecx
mov dword [esp + 0xa90], ecx
mov dword [esp + 0xa78], ecx
mov dword [esp + 0xa60], ecx
mov dword [esp + 0xa48], ecx
mov dword [esp + 0xa30], ecx
call fcn.100546b4
pop ecx
push eax
movzx eax, byte [0x100b99c4]
push eax
lea eax, [esp + 0xb10]
push eax
lea eax, [esp + 0x2164]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0xafc]
push eax
lea eax, [esp + 0x2150]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0xae4]
push eax
movzx eax, byte [0x100b90dd]
push eax
lea eax, [esp + 0xad4]
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0x2144]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b91da]
push eax
lea eax, [esp + 0xac4]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0xab4]
push eax
lea eax, [esp + 0xaa0]
push eax
movsx eax, byte [0x100b95fe]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x2140]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9232]
push eax
lea eax, [esp + 0xa90]
push eax
lea eax, [esp + 0xa7c]
push eax
movzx eax, byte [0x100b90e1]
push eax
lea eax, [esp + 0xa6c]
push eax
movzx eax, byte [0x100b9696]
push eax
lea eax, [esp + 0x213c]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movsx eax, byte [0x100b95fe]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0xa60]
push eax
lea eax, [esp + 0x212c]
push eax
call fcn.10014683
add esp, 0x10
push eax
lea eax, [esp + 0x210c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x20f0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x20d4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x20b8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x209c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x2080]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2064]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2048]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x202c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x2010]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1ff4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1fd8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1fbc]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1fa0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1f84]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1f68]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1f4c]
push eax
call fcn.1001466a
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10023fc9
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x100245e3
xor eax, eax
mov dword [esp + 0xa10], ecx
mov dword [esp + 0xa0c], eax
or ebx, 0x200
mov byte [esp + 0x9fc], al
or ebx, 0xfffffc00
cmp dword [0x100b968c], 0x10
mov esi, 0x100b9678
mov dword [esp + 0x9f4], eax
cmovae esi, dword [0x100b9678]
mov byte [esp + 0x9e4], al
mov dword [esp + 0x9dc], eax
mov byte [esp + 0x9cc], al
mov dword [esp + 0x9c4], eax
mov byte [esp + 0x9b4], al
mov dword [esp + 0x9ac], eax
mov byte [esp + 0x99c], al
mov dword [esp + 0x994], eax
mov byte [esp + 0x984], al
mov dword [esp + 0x97c], eax
mov byte [esp + 0x96c], al
mov dword [esp + 0x964], eax
mov byte [esp + 0x954], al
movzx eax, byte [0x100b9a36]
push eax
lea eax, [esp + 0xa00]
mov dword [esp + 0x34], ebx
push eax
movzx eax, byte [0x100b9b3a]
push eax
lea eax, [esp + 0x9f0]
mov dword [esp + 0xa04], ecx
push eax
lea eax, [esp + 0x9dc]
mov dword [esp + 0x9f0], ecx
push eax
movzx eax, byte [0x100b95fa]
push eax
lea eax, [esp + 0x1f44]
mov dword [esp + 0x9e0], ecx
push eax
mov dword [esp + 0x9cc], ecx
mov dword [esp + 0x9b4], ecx
mov dword [esp + 0x99c], ecx
mov dword [esp + 0x984], ecx
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x9c8]
push eax
movzx eax, byte [0x100b9332]
push eax
lea eax, [esp + 0x9b8]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x1f38]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9754]
push eax
lea eax, [esp + 0x9a8]
push eax
lea eax, [esp + 0x994]
push eax
movzx eax, byte [0x100b9335]
push eax
lea eax, [esp + 0x984]
push eax
movsx eax, byte [0x100b9579]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x1f34]
push eax
call fcn.100146a8
add esp, 0xc
push eax
lea eax, [esp + 0x1f18]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1efc]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1ee0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1ec4]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1ea8]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1e8c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1e70]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1e54]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1e38]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1e1c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1e00]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1de4]
push eax
call fcn.10014683
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10024232
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x100bc11c], eax
test eax, eax
je 0x100245dd
mov eax, dword [esp + 0x20]
mov esi, 0x100b9548
or eax, 1
or eax, 6
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [0x100b955c], 0x10
push 0xf
cmovae esi, dword [0x100b9548]
pop ecx
mov dword [esp + 0x94c], eax
mov byte [esp + 0x93c], al
mov dword [esp + 0x934], eax
mov byte [esp + 0x924], al
mov dword [esp + 0x91c], eax
mov byte [esp + 0x90c], al
mov dword [esp + 0x904], eax
mov byte [esp + 0x8f4], al
mov dword [esp + 0x8ec], eax
mov byte [esp + 0x8dc], al
mov dword [esp + 0x8d4], eax
mov byte [esp + 0x8c4], al
mov dword [esp + 0x8bc], eax
mov byte [esp + 0x8ac], al
mov dword [esp + 0x8a4], eax
mov byte [esp + 0x894], al
mov dword [esp + 0x88c], eax
mov byte [esp + 0x87c], al
mov dword [esp + 0x874], eax
mov byte [esp + 0x864], al
mov dword [esp + 0x85c], eax
mov byte [esp + 0x84c], al
mov dword [esp + 0x844], eax
mov byte [esp + 0x834], al
lea eax, [esp + 0x93c]
push eax
movsx eax, byte [0x100b90dc]
push eax
mov dword [esp + 0x958], ecx
mov dword [esp + 0x940], ecx
mov dword [esp + 0x928], ecx
mov dword [esp + 0x910], ecx
mov dword [esp + 0x8f8], ecx
mov dword [esp + 0x8e0], ecx
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x8b0], ecx
mov dword [esp + 0x898], ecx
mov dword [esp + 0x880], ecx
mov dword [esp + 0x868], ecx
mov dword [esp + 0x850], ecx
call fcn.100546b4
pop ecx
push eax
movzx eax, byte [0x100b99c4]
push eax
lea eax, [esp + 0x930]
push eax
lea eax, [esp + 0x1dd4]
push eax
call fcn.10014683
add esp, 0xc
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0x91c]
push eax
lea eax, [esp + 0x1dc0]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x904]
push eax
movzx eax, byte [0x100b90dd]
push eax
lea eax, [esp + 0x8f4]
push eax
movzx eax, byte [str.raYrr]
push eax
lea eax, [esp + 0x1db4]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b91da]
push eax
lea eax, [esp + 0x8e4]
push eax
movzx eax, byte [esi + 3]
push eax
lea eax, [esp + 0x8d4]
push eax
lea eax, [esp + 0x8c0]
push eax
movsx eax, byte [0x100b95fe]
push eax
call fcn.100546b4
pop ecx
push eax
lea eax, [esp + 0x1db0]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movzx eax, byte [0x100b9232]
push eax
lea eax, [esp + 0x8b0]
push eax
lea eax, [esp + 0x89c]
push eax
movzx eax, byte [0x100b90e1]
push eax
lea eax, [esp + 0x88c]
push eax
movzx eax, byte [0x100b9696]
push eax
lea eax, [esp + 0x1dac]
push eax
call fcn.100146a8
add esp, 0xc
push eax
movsx eax, byte [0x100b95fe]
push eax
call fcn.100546b4
push eax
lea eax, [esp + 0x880]
push eax
lea eax, [esp + 0x1d9c]
push eax
call fcn.10014683
add esp, 0x10
push eax
lea eax, [esp + 0x1d7c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1d60]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1d44]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1d28]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1d0c]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1cf0]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1cd4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1cb8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1c9c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1c80]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1c64]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1c48]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1c2c]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1c10]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1bf4]
push eax
call fcn.1001466a
add esp, 0xc
push eax
lea eax, [esp + 0x1bd8]
push eax
call fcn.10014683
add esp, 0xc
push eax
lea eax, [esp + 0x1bbc]
push eax
call fcn.1001466a
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x100245c7
mov eax, dword [eax]
push eax
push dword [0x100bc11c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
or ecx, 0xffffffff
mov dword [esp + 0x14], ecx
jmp 0x100245e3
xor eax, eax
mov dword [esp + 0x30], ebx
push edi
call eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
test al, 4
je 0x10024609
and eax, 0xfffffffb
lea ecx, [esp + 0x1bb4]
mov dword [esp + 0x20], eax
call fcn.10015c03
mov eax, dword [esp + 0x20]
test al, 2
je 0x10024624
and eax, 0xfffffffd
lea ecx, [esp + 0x1bcc]
mov dword [esp + 0x20], eax
call fcn.10015c03
mov eax, dword [esp + 0x20]
test al, 1
je 0x1002463b
and eax, 0xfffffffe
lea ecx, [esp + 0x1be4]
mov dword [esp + 0x20], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x1002465c
and eax, 0x7fffffff
lea ecx, [esp + 0x1bfc]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x40000000
je 0x1002467c
and eax, 0xbfffffff
lea ecx, [esp + 0x1c14]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x20000000
je 0x1002469c
and eax, 0xdfffffff
lea ecx, [esp + 0x1c2c]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x10000000
je 0x100246bc
and eax, 0xefffffff
lea ecx, [esp + 0x1c44]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x8000000
je 0x100246dc
and eax, 0xf7ffffff
lea ecx, [esp + 0x1c5c]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x4000000
je 0x100246fc
and eax, 0xfbffffff
lea ecx, [esp + 0x1c74]
mov dword [esp + 0x14], eax
call fcn.10015c03
mov eax, dword [esp + 0x14]
test eax, 0x2000000
je 0x1002471c
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], ebp
test eax, eax
jne 0x100239d6
mov ebx, dword [esp + 0x48]
xor edi, edi
cmp dword [ebx + 0x7c], edi
je 0x1002810a
mov esi, dword [ebx + 0x78]
add esi, edx
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1002810a
cmp dword [esi + 0x14], edi
je 0x1002810a
test eax, eax
je 0x1002810a
mov eax, dword [esi + 0x24]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + edx]
add edi, edx
mov eax, dword [ebx + 0x28]
push 0
push 1
push edx
add eax, edx
call eax
movzx eax, byte [0x100b90d0]
mov ecx, 0x100b90b8
push 0x100bc118
push 0x1002076f
push eax
push 0x100123bb
mov byte [0x100bc114], 1
call fcn.10015e22
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
push eax
call fcn.100022b0
push eax
push dword [0x100bbee0]
call edi
add esp, 0x20
mov ecx, dword [esp + 0x3a14]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1002853b
add esp, 0x3a08
ret