Function at 0x10003860
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3f0
mov esi, esp
mov dword [esi + 0x3d8], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x3dc], esp
mov dword [esi + 0x3e8], 0xffffffff
lea eax, [esi + 0x3e0]
mov dword [esi + 0x3e4], 0x1001ff60
mov ecx, dword fs:[0]
mov dword [esi + 0x3e0], ecx
mov dword fs:[0], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x18]
add edx, edx
and edx, 0x3115a6c2
mov eax, dword [ecx + edx*4 + 4]
cmp eax, dword [edi + 4]
je 0x10004719
cmp dword [eax + 8], 0xa9bde4ea
je 0x100038f4
mov ecx, dword [ecx + edx*4]
nop word cs:[eax + eax]
cmp eax, ecx
je 0x10004719
mov eax, dword [eax + 4]
cmp dword [eax + 8], 0xa9bde4ea
jne 0x100038e0
mov eax, dword [eax + 0xc]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
jne 0x1000472d
mov edx, dword [eax + 0x3c]
cmp dword [eax + edx], 0x4550
jne 0x10004735
mov ebx, dword [eax + edx + 0x2c]
add ebx, eax
mov eax, dword [eax + edx + 0x1c]
mov dword [esi + 0x14], eax
mov dx, 0xa101
mov ax, 3
mov cx, 0x5001
mov word [esi + 0x18], cx
mov cx, 0x8b01
mov di, 0x801
mov word [esi + 0x28], di
mov di, 0xff01
mov word [esi + 0x20], di
mov di, 0x5101
mov word [esi + 0x1c], di
mov di, 0xc01
mov word [esi + 0x24], di
mov dword [esi + 8], ebx
mov edi, dword [esi + 0x14]
add ebx, edi
mov dword [esi + 0xc], ebx
mov word [esi + 0x2e], cx
movzx ecx, cl
mov dword [esi + 0xac], ecx
mov word [esi + 0x12], ax
movzx eax, al
mov dword [esi + 0x58], eax
test edi, edi
je 0x10003c05
xor edi, edi
mov ecx, dword [esi + 0xc]
jmp 0x1000399f
mov eax, dword [esi + 8]
add eax, edi
inc eax
inc edi
cmp eax, ecx
je 0x10003c08
test dl, dl
je 0x10003990
movzx ebx, dl
cmp ebx, 3
je 0x100039be
cmp dl, 2
sete bl
mov eax, dword [esi + 8]
cmp byte [eax + edi], dh
sete bh
cmp bl, bh
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
inc ebx
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x12], 0
je 0x10003990
cmp dword [esi + 0x58], 3
je 0x100039ef
movzx ecx, word [esi + 0x12]
cmp cl, 2
sete al
cmp byte [ebx], ch
mov ecx, dword [esi + 0xc]
sete ah
cmp al, ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 2
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x12], 0
je 0x10003990
cmp dword [esi + 0x58], 3
je 0x10003a26
movzx ecx, word [esi + 0x12]
cmp cl, 2
sete al
cmp byte [ebx], ch
mov ecx, dword [esi + 0xc]
sete ah
cmp al, ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 3
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x12], 0
je 0x10003990
cmp dword [esi + 0x58], 3
je 0x10003a61
movzx ecx, word [esi + 0x12]
cmp cl, 2
sete al
cmp byte [ebx], ch
mov ecx, dword [esi + 0xc]
sete ah
cmp al, ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 4
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x12], 0
je 0x10003990
cmp dword [esi + 0x58], 3
je 0x10003a9c
movzx ecx, word [esi + 0x12]
cmp cl, 2
sete al
cmp byte [ebx], ch
mov ecx, dword [esi + 0xc]
sete ah
cmp al, ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 5
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x18], 0
je 0x10003990
movzx eax, byte [esi + 0x18]
cmp eax, 3
je 0x10003ad8
movzx eax, word [esi + 0x18]
cmp al, 2
sete byte [esi + 0x14]
cmp byte [ebx], ah
sete ah
cmp byte [esi + 0x14], ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 6
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x2e], 0
je 0x10003990
cmp dword [esi + 0xac], 3
je 0x10003b16
movzx ecx, word [esi + 0x2e]
cmp cl, 2
sete al
cmp byte [ebx], ch
mov ecx, dword [esi + 0xc]
sete ah
cmp al, ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 7
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x28], 0
je 0x10003990
movzx eax, byte [esi + 0x28]
cmp eax, 3
je 0x10003b52
movzx eax, word [esi + 0x28]
cmp al, 2
sete byte [esi + 0x14]
cmp byte [ebx], ah
sete ah
cmp byte [esi + 0x14], ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 8
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x20], 0
je 0x10003990
movzx eax, byte [esi + 0x20]
cmp eax, 3
je 0x10003b8e
movzx eax, word [esi + 0x20]
cmp al, 2
sete byte [esi + 0x14]
cmp byte [ebx], ah
sete ah
cmp byte [esi + 0x14], ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 9
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x1c], 0
je 0x10003990
movzx eax, byte [esi + 0x1c]
cmp eax, 3
je 0x10003bc6
movzx eax, word [esi + 0x1c]
cmp al, 2
sete byte [esi + 0x14]
cmp byte [ebx], ah
sete ah
cmp byte [esi + 0x14], ah
je 0x10003990
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 0xa
cmp ebx, ecx
je 0x10003c08
cmp byte [esi + 0x24], 0
je 0x10003990
movzx eax, byte [esi + 0x24]
cmp eax, 3
je 0x10003bfe
movzx eax, word [esi + 0x24]
cmp al, 2
sete byte [esi + 0x14]
cmp byte [ebx], ah
sete ah
cmp byte [esi + 0x14], ah
je 0x10003990
mov ecx, dword [esi + 8]
add ecx, edi
jmp 0x10003c08
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 1]
mov edi, dword [eax]
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0xc0], xmm0
mov eax, dword [edi]
lea ecx, [esi + 0xc0]
push ecx
push edi
call dword [eax + 0x24]
mov dword [esi + 0x3e8], 0xffffffff
test eax, eax
jne 0x1000473d
push 0
call fcn.1009f610
add esp, 4
push dword [esi + 0xc8]
call fcn.100c8020
add esp, 4
mov dword [esi + 0xb0], edi
push edi
call fcn.100c7e40
add esp, 4
call fcn.100a01d0
mov edi, eax
push 0x84
call fcn.100e80cd
add esp, 4
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_ImDrawList_.0
mov dword [esi + 8], eax
mov ecx, eax
add ecx, 0xc
mov dword [esi + 0x3e8], 0
mov dword [esi + 0xc], ecx
push edi
call fcn.1001f460
mov eax, dword [0x1029fbc8]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x38], ecx
mov edi, dword [eax + 0x3c]
mov ecx, dword [esi + 8]
mov dword [eax + 0x3c], ecx
test edi, edi
je 0x10003cd3
lock dec dword [edi + 4]
jne 0x10003cd3
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x10003cd3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [esi + 0x3e8], 0xffffffff
call fcn.100a01d0
mov edi, eax
push 0x84
call fcn.100e80cd
add esp, 4
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_ImDrawList_.0
mov dword [esi + 8], eax
mov ecx, eax
add ecx, 0xc
mov dword [esi + 0x3e8], 1
mov dword [esi + 0xc], ecx
push edi
call fcn.1001f460
mov eax, dword [0x1029fbc8]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x40], ecx
mov edi, dword [eax + 0x44]
mov ecx, dword [esi + 8]
mov dword [eax + 0x44], ecx
test edi, edi
je 0x10003d51
lock dec dword [edi + 4]
jne 0x10003d51
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x10003d51
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [esi + 0x3e8], 0xffffffff
call fcn.100a01d0
mov edi, eax
push 0x84
call fcn.100e80cd
add esp, 4
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_ImDrawList_.0
mov dword [esi + 8], eax
mov ecx, eax
add ecx, 0xc
mov dword [esi + 0x3e8], 2
mov dword [esi + 0xc], ecx
push edi
call fcn.1001f460
mov eax, dword [0x1029fbc8]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x48], ecx
mov edi, dword [eax + 0x4c]
mov ecx, dword [esi + 8]
mov dword [eax + 0x4c], ecx
test edi, edi
je 0x10003dcf
lock dec dword [edi + 4]
jne 0x10003dcf
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock dec dword [edi + 8]
jne 0x10003dcf
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [esi + 0x3e8], 0xffffffff
push 0
call fcn.100b2760
add esp, 4
call fcn.1009c4c0
mov dword [eax + 0x14], 0x43e10000
mov dword [eax + 0x18], 0x43af0000
call fcn.100a0190
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov edi, eax
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x150]
call fcn.100b7710
mov dword [esi + 0x190], 4
mov dword [esi + 0x168], 3
mov dword [esi + 0x164], 3
mov byte [esi + 0x16c], 0
mov dword [esi + 0x194], 0x3fa66666
lea ecx, [esi + 0xd8]
call fcn.100b7710
mov dword [esi + 0x118], 4
mov dword [esi + 0xf0], 3
mov dword [esi + 0xec], 3
mov byte [esi + 0xf4], 0
mov dword [esi + 0x11c], 0x3f99999a
lea ecx, [esi + 0x2e8]
call fcn.100b7710
mov dword [esi + 0x118], 1
mov dword [esi + 0xf0], 3
mov dword [esi + 0xec], 3
mov byte [esi + 0xf4], 0
mov dword [esi + 0x11c], 0x3fa66666
lea ecx, [esi + 0x270]
call fcn.100b7710
mov dword [esi + 0x2b0], 4
mov dword [esi + 0xf0], 3
mov dword [esi + 0x284], 3
mov byte [esi + 0x28c], 0
mov dword [esi + 0x2b4], 0x3f99999a
lea ecx, [esi + 0x1f8]
call fcn.100b7710
mov dword [esi + 0x238], 0x90
mov dword [esi + 0x210], 5
mov dword [esi + 0x20c], 5
mov byte [esi + 0x214], 0
mov dword [esi + 0x23c], 0x3f99999a
lea ecx, [esi + 0x360]
call fcn.100b7710
mov ecx, dword [edi + 0x90]
mov dword [esi + 0x8c], ecx
call fcn.100c0ee0
mov dword [esi + 0xb8], eax
mov eax, 0x1a5cf5ae
mov ecx, 0xdb9bc95a
mov dword [esi + 0x94], eax
mov ebx, ecx
mov dword [esi + 0x98], ecx
mov eax, 0xc0ded5e1
mov edi, 0x9b553b21
mov dword [esi + 0x90], eax
mov dword [esi + 0xb4], edi
mov eax, 0xc31aba03
mov ecx, 0x30a3e706
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x5c], eax
mov eax, 0xe5f6e34c
mov ecx, 0xe20c77bc
mov dword [esi + 0x9c], ecx
mov dword [esi + 0xa0], eax
mov ecx, 0x4d00cfed
mov eax, 0xb4ffa733
mov dword [esi + 0xc], ecx
mov dword [esi + 0x14], eax
mov ecx, 0x8682a696
mov eax, 0xe821554e
mov dword [esi + 0x28], ecx
mov dword [esi + 0x20], eax
mov ecx, 0xab7bee5f
mov eax, 0x1ec28a69
mov dword [esi + 8], ecx
mov dword [esi + 0x1c], eax
mov ecx, 0xe5909738
mov eax, 0xe20c77bc
mov dword [esi + 0x18], eax
mov eax, ecx
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0x60]
xor edx, edx
mov dword [esi + 0x34], ebx
mov ebx, dword [esi + 0x94]
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x38], edi
mov edx, dword [esi + 0xa4]
mov dword [esi + 0x44], edx
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x40], edx
mov edx, dword [esi + 0x9c]
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x48], edx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x60], edx
mov edx, dword [esi + 0x20]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x28]
mov dword [esi + 0x68], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x74], edx
mov edx, dword [esi + 8]
mov dword [esi + 0x70], edx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], eax
vmovaps xmm0, xmmword [esi + 0x30]
vxorps xmm0, xmm0, xmmword [ecx]
vmovaps xmmword [esi + 0x30], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
vxorps xmm0, xmm0, xmmword [ecx + 0x10]
vmovaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0xbc], 0
lea edx, [esi + 0x30]
mov ecx, dword [esi + 0x8c]
push dword [esi + 0xb8]
lea eax, [esi + 0x150]
push eax
push 0x41500000
push edx
call fcn.100b7ec0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x68], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x90]
mov dword [esi + 0x8c], ecx
call fcn.100c0ee0
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], ebx
mov ebx, dword [esi + 0xb4]
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], edi
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x44], ecx
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi + 0xa0]
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x60]
xor edx, edx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x60], edx
mov edx, dword [esi + 0x20]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x28]
mov dword [esi + 0x68], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x74], edx
mov edx, dword [esi + 8]
mov dword [esi + 0x70], edx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x7c], edx
mov edi, dword [esi + 0xa8]
mov dword [esi + 0x78], edi
vmovaps xmm0, xmmword [esi + 0x30]
vxorps xmm0, xmm0, xmmword [ecx]
vmovaps xmmword [esi + 0x30], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
vxorps xmm0, xmm0, xmmword [ecx + 0x10]
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, dword [esi + 0x8c]
push eax
lea eax, [esi + 0x1f8]
push eax
push 0x41400000
lea eax, [esi + 0x30]
push eax
call fcn.100b7ec0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x6c], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x90]
mov dword [esi + 0x5c], ecx
call fcn.100c0ee0
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3c], ebx
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x38], ecx
mov ecx, 0xd91e9803
mov edx, 0x7faceb0d
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0x91e4b95a
mov edx, 0xe20c77da
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x60]
xor edx, edx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x60], edx
mov edx, dword [esi + 0x20]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x28]
mov dword [esi + 0x68], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x74], edx
mov edx, dword [esi + 8]
mov dword [esi + 0x70], edx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], edi
vmovaps xmm0, xmmword [esi + 0x30]
vxorps xmm0, xmm0, xmmword [ecx]
vmovaps xmmword [esi + 0x30], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
vxorps xmm0, xmm0, xmmword [ecx + 0x10]
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, dword [esi + 0x5c]
push eax
lea eax, [esi + 0x1f8]
push eax
push 0x41d00000
lea eax, [esi + 0x30]
push eax
call fcn.100b7ec0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x70], eax
mov edi, dword [esi + 0x24]
mov ebx, dword [edi + 0x90]
mov ecx, ebx
call fcn.100c0ee0
mov ecx, ebx
push eax
lea ebx, [esi + 0x150]
push ebx
push 0x41400000
push str.7___qNZi____0rC_Q6_T___CWt7HjO_._JAo_fY_99_e0__m__v_01qZn42G6QHp___9_01aNVBo2sejb5YY_gRU.a_HMY__Z_:__r_5_0_JJ1g6k4G:__4gHo__d_BhIvnAVs.__Q_pV_TT__SlZKE3RA_FqEn____FHjF__wI_hLED_Yuo6Q_B_o_5VcJ2rsBKM0iR_GS7nc2s_5Q_B__qmnUCg5M_1iZ_RBSEb_CGH_MjJ__kEZiCANS___5CsLn5wsalVP9wnU.7e_goI_lO1_PFWkZsLiK1_TVnOMYY0_WhNR3O_bv7MNT86_5LbW3M_DT__q__U._E___IMX___92__CsHeXZV_jA2T_Do0__5LF_5___8JFgL6SgV_w_n_BBr_9:5Dt_u_SMd.h_SQrMM1VY8._9_s_Dt__UofL__gV_WhVe_6YXN_6pexbQd_aY_gLlgDgCw_Hd_V_IgLuP7peb52:_dcU__5l____D_o_C3D_xteu_Z________ppY_dnO41J_8JCsxdr__C8_wJeq0:oer___ao_O4t1BeIYG_14QBQf_o_5R5Rbtu.C_8_i_h9WBYI8Y_7_nLi_BnLt___qV4oLg_uX9_w_Z_DE9B_4___d__ODI2lFI__Y_ic_0VceJ_dB.r5_KM7__L_hpLVSsC__vw___qpL_hl___uoL2e_AOt_gfL_J5s_nlRfLP:_q5FGMm8SaFoLg_a__4__:W_11_1Ur_BwF:v:Hk7_C9FmCDmL_fmMB_sUmsIxOfgc_7ef8aPU_1__7_F7_JYU._M5_Vp._v2H_v2__n8_I3TQ_6N_oa0_nFI__u_c8hi__HZO__XM6W.i_sp_NdsjL_UY313_L2Cpf3Scc_5dUIA6tH0Z7UVKa_45b__w__53x__niP_1tnjYcW_w6___JW6o5ldoS__cnYb__HXKumZiq8_W_agDk2q8oQT1IPlCB__Q__fWY1a4NSp4m_m_5__NVeWsn3_J_c2IX___bY_.nt___Rpgo1_jp___a_Jk_AD_Hl_T._2_5x_e2Y:ik_tcV4P.__RF_Sd_KiBm___lm8_c7C3.Gb_C:_8.d._9_ZMOgMmoq__Aw9Y_tg34_CF.J__1__QP_7I.lLTrWJ17QCD3hS___N_SF4tFE_cqX__e__Mfv__U:_R_q.2ZWI__rHReDG3LaLt:_Ob:2_FYC42_TGr.Hg____QgLbM_4Ke_4eJ_i1g2vRkR___lYI.2J5Y3_c_5_aP_c_5n_u9_hW4k08vV84f:vWu_BXsYR_iEonuJB__d7hgbp__xqV_F_Xt_k7b_6gR_YHq___7W_7i1__pKM2nBX_IWCf__JUW5Ck9_:dx9Rj5Ewa9_tD______2JuY3JP_8s_O_eq9_7F_p__UNT__wZwcWAIXscjirHj:adxm2_4NSY1ZH___1G__qRfpH.MvYIVS_bCEp_OnW_4r_8_0f1__7.W_Pv__KDsC_C_FX_BIw8_.cCZDcY3_L__WH_DO_NbYio6YP_Q__K_iO4A_7sFxfL.0pS__Iv__5b___mmr_5f1v2P_vGc_YjAI_vuRfLQTfLWT___dYL_ZCe8_Ctwq.JuYA0hP_XUhLN2de5_5a_Mk_Z6JPsS__UVm__aJh_.MTWjL9Vd8_3fWhGb_dMjh_6u1K__a7Dt_.uoMqq0PW3__Owkj1D_7O.SiB.k_s_3_:8._3m_.2m_d_AoL_B__4__j:9_RvR_MNBwa.L___iF_.7QCD3m_TG268Zx6Rh.KG_c4dbLg34g__aKpTacO0M4_F4Paj____1F1M_3Q__M.pYD3J8_0Ee3E4p_l_Q_Z8_ZYs.Z_H_____.W8f3f_v5UD_V_j7F1F1q6N_6a_5X_U96__40H1.__Ma1K_f4t_Dhxia_et_Me_t_84Rs_2AP_E99U_A_c___IT_Dk9_GFVZ_GlY1r_vCeap_Q0p2K5h19_eS_DY_FnNp_rU4gLIq_W_KQPjd_.H_VB_KLO4_iLZ0_1v_e6X_1_j_qn4gL_TQjRs_5f_ZruU_H_.s_MNl__cn3T_5Vu__tjX._V__R___Aha5Q6G___wj9_ENLg_hb50i_s__:M__Ows_f5049_FApK0Za.qruqAjPlFEvbs_9bAmVhNp_E05N_I__W:_0_N:2__CW_J_p8WRW__VL__Csb59e96.ih__2rL_1_lY_2Gb_cGcY0c_V___L__0AG_4VuYJT_3__wK__vZ_Fqxi1_R8_qSN_P_ZX5Fw___Y_4V_v_nGe6Rf:vwkDj__E__LWo_s_hwZt__8Qt1Z_j__fx.loh.__J6YJ_OEC____nJ_B_94Aonsiln__Q_IA8_:0Ew_3H:u_5F_8.sdJe_2H_u_xU.L_s_Q_q.6qQ_T4X_P_A_a_158fg_.t_756_dW_WF_Hs_o79puA_3U_bX__K_3hncl_e:I_0_:_40FODX_Kk__rSfL1F3_rLt:DCeD4S_VN___IMU1LA1_Y90_Z_2b______m_A8_NEUA__3a_gl_h2xAUQ2_Dv5r6s__cY0_L___c_s____V_.fhV_0_u_dJ:CYBT__spQL_wu6D1qr0bpwcX_D11S_uE_:_VgGV_EJPp_S8_EJ_U__YNaNX.X_eEKB_OteW_rl01of_5Knns_TV_xeFmCRn8_N_TQJ99U_DcY_UUw_FF_W_ER_W_GBcjEhEX_GwoM0cCZ:_e8_W_X_U.m5p_GB6_Y1vJ_w_Fkjp_8SWB4lZMcF.40B_mCKBP_D7___P_M_URq__PCV_M_wS_4f1Z3Yj5Su_.PcYV_ffLwi_NQFQ__h___QC_3O9VL_BC.:Z_JN7_8_ri_:3.p__na9_k1._2pnd_Nke__C.W_0_U__0cLvKm___Pi:v_F_w7:WPAOi__RjP67R8__IjPP3Bq__VG_djdp_ee_h_WrL__uA__dTiCv_NWhO__V_vhMI7kvV__x9r__L___Np_Wnl_2I2NaPC__.:S_r_UEPjh6bM3Yc_nJ_wp_2psaZ.hZv_kRP__1_s_e_ls_C4_58H9pvV_W___T5qE_9___d5_Ib_T_OPmb___GX_1__EPadjO9XZ__oMs_eoGdNCW_IMhl8wo__4FjE.3:PAHIH.____X_Kk_Bic_eRjv_KvX__1fgL7e_Z_lcQI_jb_JNTaPL5_7BF7s_XVsa_i__8XWT_G_sP__r48f__E5OEA:____UNT___ET_4.___XT_Aq_Q97____3kn__nAm7_iZGg9s..__ZB3Lvc9_we_54_YI_Wi4C_T_Y11s_KX__H4t_Kv_L_Q_4t_a_i1emnhxNEhZ__G_qG7KBpM_hlBAw_vnaU:_VewZTx0_AY_1fC__6LjPN_xY_q6q__O_G_5SWB_ua_g21Qb9D_5u_k6fCvXE_nbOkQg_Yo____S_2PcY:__Qn8_P:_mcZ3_9_47___QbT__11OdVcY8SuY4_:v5o:v____fP_Cclh__6__s_2PP_x6W_2_C___gV6NPOmY9I_T_L7rV_PC___LRwRDDs__rWoxqL__7iLvDGW_PIe8_Q
call fcn.100b7da0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x74], eax
mov ecx, dword [edi + 0x90]
push 0
push ebx
push 0x41c00000
push str.7___qNZi____0rC_Q6_T___CWt7HjO_._JAo_fY_99_e0__m__v_01qZn42G6QHp___9_01aNVBo2sejb5YY_gRU.a_HMY__Z_:__r_5_0_JJ1g6k4G:__4gHo__d_BhIvnAVs.__Q_pV_TT__SlZKE3RA_FqEn____FHjF__wI_hLED_Yuo6Q_B_o_5VcJ2rsBKM0iR_GS7nc2s_5Q_B__qmnUCg5M_1iZ_RBSEb_CGH_MjJ__kEZiCANS___5CsLn5wsalVP9wnU.7e_goI_lO1_PFWkZsLiK1_TVnOMYY0_WhNR3O_bv7MNT86_5LbW3M_DT__q__U._E___IMX___92__CsHeXZV_jA2T_Do0__5LF_5___8JFgL6SgV_w_n_BBr_9:5Dt_u_SMd.h_SQrMM1VY8._9_s_Dt__UofL__gV_WhVe_6YXN_6pexbQd_aY_gLlgDgCw_Hd_V_IgLuP7peb52:_dcU__5l____D_o_C3D_xteu_Z________ppY_dnO41J_8JCsxdr__C8_wJeq0:oer___ao_O4t1BeIYG_14QBQf_o_5R5Rbtu.C_8_i_h9WBYI8Y_7_nLi_BnLt___qV4oLg_uX9_w_Z_DE9B_4___d__ODI2lFI__Y_ic_0VceJ_dB.r5_KM7__L_hpLVSsC__vw___qpL_hl___uoL2e_AOt_gfL_J5s_nlRfLP:_q5FGMm8SaFoLg_a__4__:W_11_1Ur_BwF:v:Hk7_C9FmCDmL_fmMB_sUmsIxOfgc_7ef8aPU_1__7_F7_JYU._M5_Vp._v2H_v2__n8_I3TQ_6N_oa0_nFI__u_c8hi__HZO__XM6W.i_sp_NdsjL_UY313_L2Cpf3Scc_5dUIA6tH0Z7UVKa_45b__w__53x__niP_1tnjYcW_w6___JW6o5ldoS__cnYb__HXKumZiq8_W_agDk2q8oQT1IPlCB__Q__fWY1a4NSp4m_m_5__NVeWsn3_J_c2IX___bY_.nt___Rpgo1_jp___a_Jk_AD_Hl_T._2_5x_e2Y:ik_tcV4P.__RF_Sd_KiBm___lm8_c7C3.Gb_C:_8.d._9_ZMOgMmoq__Aw9Y_tg34_CF.J__1__QP_7I.lLTrWJ17QCD3hS___N_SF4tFE_cqX__e__Mfv__U:_R_q.2ZWI__rHReDG3LaLt:_Ob:2_FYC42_TGr.Hg____QgLbM_4Ke_4eJ_i1g2vRkR___lYI.2J5Y3_c_5_aP_c_5n_u9_hW4k08vV84f:vWu_BXsYR_iEonuJB__d7hgbp__xqV_F_Xt_k7b_6gR_YHq___7W_7i1__pKM2nBX_IWCf__JUW5Ck9_:dx9Rj5Ewa9_tD______2JuY3JP_8s_O_eq9_7F_p__UNT__wZwcWAIXscjirHj:adxm2_4NSY1ZH___1G__qRfpH.MvYIVS_bCEp_OnW_4r_8_0f1__7.W_Pv__KDsC_C_FX_BIw8_.cCZDcY3_L__WH_DO_NbYio6YP_Q__K_iO4A_7sFxfL.0pS__Iv__5b___mmr_5f1v2P_vGc_YjAI_vuRfLQTfLWT___dYL_ZCe8_Ctwq.JuYA0hP_XUhLN2de5_5a_Mk_Z6JPsS__UVm__aJh_.MTWjL9Vd8_3fWhGb_dMjh_6u1K__a7Dt_.uoMqq0PW3__Owkj1D_7O.SiB.k_s_3_:8._3m_.2m_d_AoL_B__4__j:9_RvR_MNBwa.L___iF_.7QCD3m_TG268Zx6Rh.KG_c4dbLg34g__aKpTacO0M4_F4Paj____1F1M_3Q__M.pYD3J8_0Ee3E4p_l_Q_Z8_ZYs.Z_H_____.W8f3f_v5UD_V_j7F1F1q6N_6a_5X_U96__40H1.__Ma1K_f4t_Dhxia_et_Me_t_84Rs_2AP_E99U_A_c___IT_Dk9_GFVZ_GlY1r_vCeap_Q0p2K5h19_eS_DY_FnNp_rU4gLIq_W_KQPjd_.H_VB_KLO4_iLZ0_1v_e6X_1_j_qn4gL_TQjRs_5f_ZruU_H_.s_MNl__cn3T_5Vu__tjX._V__R___Aha5Q6G___wj9_ENLg_hb50i_s__:M__Ows_f5049_FApK0Za.qruqAjPlFEvbs_9bAmVhNp_E05N_I__W:_0_N:2__CW_J_p8WRW__VL__Csb59e96.ih__2rL_1_lY_2Gb_cGcY0c_V___L__0AG_4VuYJT_3__wK__vZ_Fqxi1_R8_qSN_P_ZX5Fw___Y_4V_v_nGe6Rf:vwkDj__E__LWo_s_hwZt__8Qt1Z_j__fx.loh.__J6YJ_OEC____nJ_B_94Aonsiln__Q_IA8_:0Ew_3H:u_5F_8.sdJe_2H_u_xU.L_s_Q_q.6qQ_T4X_P_A_a_158fg_.t_756_dW_WF_Hs_o79puA_3U_bX__K_3hncl_e:I_0_:_40FODX_Kk__rSfL1F3_rLt:DCeD4S_VN___IMU1LA1_Y90_Z_2b______m_A8_NEUA__3a_gl_h2xAUQ2_Dv5r6s__cY0_L___c_s____V_.fhV_0_u_dJ:CYBT__spQL_wu6D1qr0bpwcX_D11S_uE_:_VgGV_EJPp_S8_EJ_U__YNaNX.X_eEKB_OteW_rl01of_5Knns_TV_xeFmCRn8_N_TQJ99U_DcY_UUw_FF_W_ER_W_GBcjEhEX_GwoM0cCZ:_e8_W_X_U.m5p_GB6_Y1vJ_w_Fkjp_8SWB4lZMcF.40B_mCKBP_D7___P_M_URq__PCV_M_wS_4f1Z3Yj5Su_.PcYV_ffLwi_NQFQ__h___QC_3O9VL_BC.:Z_JN7_8_ri_:3.p__na9_k1._2pnd_Nke__C.W_0_U__0cLvKm___Pi:v_F_w7:WPAOi__RjP67R8__IjPP3Bq__VG_djdp_ee_h_WrL__uA__dTiCv_NWhO__V_vhMI7kvV__x9r__L___Np_Wnl_2I2NaPC__.:S_r_UEPjh6bM3Yc_nJ_wp_2psaZ.hZv_kRP__1_s_e_ls_C4_58H9pvV_W___T5qE_9___d5_Ib_T_OPmb___GX_1__EPadjO9XZ__oMs_eoGdNCW_IMhl8wo__4FjE.3:PAHIH.____X_Kk_Bic_eRjv_KvX__1fgL7e_Z_lcQI_jb_JNTaPL5_7BF7s_XVsa_i__8XWT_G_sP__r48f__E5OEA:____UNT___ET_4.___XT_Aq_Q97____3kn__nAm7_iZGg9s..__ZB3Lvc9_we_54_YI_Wi4C_T_Y11s_KX__H4t_Kv_L_Q_4t_a_i1emnhxNEhZ__G_qG7KBpM_hlBAw_vnaU:_VewZTx0_AY_1fC__6LjPN_xY_q6q__O_G_5SWB_ua_g21Qb9D_5u_k6fCvXE_nbOkQg_Yo____S_2PcY:__Qn8_P:_mcZ3_9_47___QbT__11OdVcY8SuY4_:v5o:v____fP_Cclh__6__s_2PP_x6W_2_C___gV6NPOmY9I_T_L7rV_PC___LRwRDDs__rWoxqL__7iLvDGW_PIe8_Q
call fcn.100b7da0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x78], eax
mov ebx, dword [edi + 0x90]
mov ecx, ebx
call fcn.100c0ee0
mov ecx, 0x3a2ff5ae
mov edx, 0xdb9bc95a
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], ecx
mov ecx, 0xe0add5e1
mov edx, 0x9b553b21
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xcc1e9d70
mov edx, 0x7cb1e31c
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0x83e4e316
mov edx, 0xe20c77bc
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x68], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x7c], ecx
mov ecx, dword [esi + 0xa8]
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0x60]
mov edx, dword [esi + 0xbc]
vmovaps xmm0, xmmword [esi + 0x30]
vxorps xmm0, xmm0, xmmword [ecx]
vmovaps xmmword [esi + 0x30], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
vxorps xmm0, xmm0, xmmword [ecx + 0x10]
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, ebx
push eax
lea ebx, [esi + 0x150]
push ebx
push 0x41600000
lea eax, [esi + 0x30]
push eax
call fcn.100b7ec0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x90]
push 0
push ebx
push 0x41600000
push 0x1fb9c
push section..data
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x90], eax
mov ecx, dword [edi + 0x90]
push 0
push ebx
push 0x41500000
push 0x40d38
push 0x10196f92
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x8c], eax
mov ecx, dword [edi + 0x90]
push 0
push ebx
push 0x41700000
push 0x1fb04
push 0x1020b43c
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x80], eax
mov ecx, dword [edi + 0x90]
push 0
lea ebx, [esi + 0x2e8]
push ebx
push 0x41880000
push 0xf298
push 0x1022af40
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x84], eax
mov ecx, dword [edi + 0x90]
push 0
push ebx
push 0x42000000
push 0xf298
push 0x1022af40
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x88], eax
mov ecx, dword [edi + 0x90]
push 0
lea eax, [esi + 0xd8]
push eax
push 0x41880000
push 0xe7c0
push 0x101d7cca
call fcn.100b80f0
mov ecx, dword [0x1029fbd8]
mov dword [ecx + 0x94], eax
push 0
push dword [edi + 0x90]
call fcn.100c74a0
add esp, 8
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x18]
add edx, edx
and edx, 0x683e8612
mov eax, dword [ecx + edx*4 + 4]
cmp eax, dword [edi + 4]
je 0x10004719
cmp dword [eax + 8], 0xce6b421f
je 0x100044a4
mov ecx, dword [ecx + edx*4]
nop word [eax + eax]
cmp eax, ecx
je 0x10004719
mov eax, dword [eax + 4]
cmp dword [eax + 8], 0xce6b421f
jne 0x10004490
mov eax, dword [eax + 0xc]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
jne 0x10004751
mov edx, dword [eax + 0x3c]
cmp dword [eax + edx], 0x4550
jne 0x1000475d
mov ecx, dword [eax + edx + 0x2c]
add ecx, eax
mov edi, dword [eax + edx + 0x1c]
mov dx, 0x5501
mov ax, 0xec01
mov word [esi + 0xc], ax
mov ax, 0x8301
mov word [esi + 0x14], ax
mov bx, 0x8001
mov ax, 0x3d01
mov word [esi + 0x1c], ax
lea eax, [edi + ecx]
mov dword [esi + 8], eax
test edi, edi
je 0x100046ab
mov word [esi + 0x24], bx
mov word [esi + 0x28], dx
jmp 0x1000451a
inc ecx
cmp ecx, dword [esi + 8]
je 0x100046ab
test dl, dl
je 0x10004510
movzx edi, dl
cmp edi, 3
je 0x10004535
cmp dl, 2
sete bl
cmp byte [ecx], dh
sete bh
cmp bl, bh
je 0x10004510
lea edi, [ecx + 1]
cmp edi, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0x2e], 0
je 0x10004510
cmp dword [esi + 0xac], 3
je 0x10004566
movzx eax, word [esi + 0x2e]
cmp al, 2
sete bl
cmp byte [edi], ah
movzx edx, word [esi + 0x28]
sete bh
cmp bl, bh
je 0x10004510
lea ebx, [ecx + 2]
cmp ebx, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0xc], 0
je 0x10004510
movzx eax, byte [esi + 0xc]
cmp eax, 3
mov dword [esi + 0x18], eax
je 0x1000459e
movzx edi, word [esi + 0xc]
mov eax, edi
cmp al, 2
sete byte [esi + 0x20]
cmp byte [ebx], ah
sete bl
cmp byte [esi + 0x20], bl
je 0x10004510
lea ebx, [ecx + 3]
cmp ebx, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0x14], 0
je 0x10004510
movzx edi, byte [esi + 0x14]
cmp edi, 3
mov edi, dword [esi + 0x18]
je 0x100045d8
movzx eax, word [esi + 0x14]
cmp al, 2
sete byte [esi + 0x20]
cmp byte [ebx], ah
sete bl
cmp byte [esi + 0x20], bl
je 0x10004510
lea ebx, [ecx + 4]
cmp ebx, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0xc], 0
je 0x10004510
cmp edi, 3
je 0x1000460b
movzx eax, word [esi + 0xc]
cmp al, 2
sete byte [esi + 0x18]
cmp byte [ebx], ah
sete bl
cmp byte [esi + 0x18], bl
je 0x10004510
lea edi, [ecx + 5]
cmp edi, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0x12], 0
je 0x10004510
cmp dword [esi + 0x58], 3
je 0x10004640
movzx ebx, word [esi + 0x12]
cmp bl, 2
sete byte [esi + 0x18]
cmp byte [edi], bh
sete bh
cmp byte [esi + 0x18], bh
je 0x10004510
lea edi, [ecx + 6]
cmp edi, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0x24], 0
je 0x10004510
movzx ebx, byte [esi + 0x24]
cmp ebx, 3
je 0x10004674
movzx ebx, word [esi + 0x24]
cmp bl, 2
sete byte [esi + 0x18]
cmp byte [edi], bh
sete bh
cmp byte [esi + 0x18], bh
je 0x10004510
lea edi, [ecx + 7]
cmp edi, dword [esi + 8]
je 0x100046ab
cmp byte [esi + 0x1c], 0
je 0x10004510
movzx ebx, byte [esi + 0x1c]
cmp ebx, 3
je 0x100046a8
movzx ebx, word [esi + 0x1c]
cmp bl, 2
sete byte [esi + 0x18]
cmp byte [edi], bh
sete bh
xor bh, byte [esi + 0x18]
je 0x10004510
mov dword [esi + 8], ecx
push 0x1029fc28
push 0x1006ccf0
push dword [esi + 8]
call fcn.100debdf
test eax, eax
mov edi, dword [esi + 0xb0]
jne 0x10004769
mov eax, dword [edi]
push 0x1029fc2c
push 0x1006ce20
push dword [eax + 0x40]
call fcn.100debdf
test eax, eax
jne 0x10004778
mov eax, dword [edi]
push 0x1029fc30
push 0x1006ce50
push dword [eax + 0x44]
call fcn.100debdf
test eax, eax
jne 0x10004787
mov eax, dword [esi + 0x3e0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov dword [esi + 0x3e8], 0xffffffff
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
lea edi, [esi + 0x150]
jmp 0x10004754
lea edi, [esi + 0x150]
jmp 0x10004760
lea edi, [esi + 0x1ec]
mov ecx, edi
push str.cant_get_creation_params.
call fcn.10004810
jmp 0x100047a3
lea edi, [esi + 0x60]
mov ecx, edi
push str.invalid_dos_hdr.
jmp 0x10004794
lea edi, [esi + 0x60]
mov ecx, edi
push str.invalid_nt_hdrs.
jmp 0x10004794
lea edi, [esi + 0x1e0]
mov ecx, edi
push str.cant_hook_hooks::wnd_proc.
jmp 0x10004794
lea edi, [esi + 0x1d4]
mov ecx, edi
push str.cant_hook_hooks::dx9_reset.
jmp 0x10004794
lea edi, [esi + 0x1c8]
mov ecx, edi
push str.cant_hook_hooks::dx9_present.
call fcn.10004810
mov dword [esi + 0x3e8], 0xffffffff
push 0x10170948
push edi
call sub.VCRUNTIME140.dll__CxxThrowException
nop
push ebp
sub esp, 0x14
lea esi, [ebp - 0x3ec]
mov ebp, dword [esi + 0x3d8]
push dword [esi + 8]
call fcn.100e81ab
add esp, 0x18
pop ebp
ret