Function at 0x1000ae90
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov esi, esp
mov eax, dword [0x10042880]
xor eax, ebp
mov dword [esi + 0x38], eax
mov ecx, dword [0x10045bc0]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045bbc], 0xa
jl 0x1000aec8
test eax, eax
jne 0x1000af73
push eax
mov dword [esi + 4], esp
push eax
mov dword [esi + 0x28], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x20], esp
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1c], eax
mov esp, eax
push eax
mov dword [esi + 0x30], esp
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10042704
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1003b1b0]
movups xmmword [esp + 4], xmm0
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call eax
mov dword [ebx], eax
mov dword [esi + 0x14], ebx
mov eax, dword [ebx]
cmp eax, 0xffffffff
mov dword [esi + 0x34], edi
sete byte [edi]
push eax
mov edi, esp
mov dword [edi], 0x927a253
push eax
mov dword [esi + 8], esp
push eax
mov dword [esi + 0x18], esp
push eax
mov ebx, esp
mov dword [ebx], 0x808f382b
mov ecx, dword [0x10045bb8]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045bb4], 0xa
jl 0x1000afe9
test eax, eax
je 0x1000afe9
push eax
push eax
push eax
push eax
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10042704
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1003b1b0]
movups xmmword [esp + 4], xmm0
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call eax
mov dword [ebx], eax
mov eax, dword [ebx]
cmp eax, 0xffffffff
sete byte [edi]
push eax
mov eax, esp
mov dword [eax], 0x927a253
push eax
push eax
push eax
mov eax, esp
mov dword [eax], 0x808f382b
jmp 0x1000aec8
mov dword [esi + 0x10], edi
mov dword [esi + 0xc], ebx
nop
cmp dword [0x10045bb0], 0xa
mov eax, dword [ebx]
mov edx, dword [0x10045bac]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp dword [0x10045ba8], 0xa
jl 0x1000b015
test ecx, ecx
jne 0x1000aff7
cmp eax, 0xe7c28540
jle 0x1000b080
cmp eax, 0x1c681800
jg 0x1000b0e0
cmp eax, 0x15356f88
jg 0x1000b195
cmp eax, 0xe7c28541
je 0x1000b291
cmp eax, 0xf585ae15
je 0x1000b2ba
cmp eax, 0xf64421ba
jne 0x1000b490
mov ecx, dword [0x10045ba4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ba0], 0xa
jl 0x1000b615
test eax, eax
jne 0x1000b65d
jmp 0x1000b615
cmp eax, 0x9bbca5d9
jg 0x1000b140
cmp eax, 0x8cdcd742
jle 0x1000b1d4
cmp eax, 0x8cdcd743
je 0x1000b2e3
cmp eax, 0x93a441e3
je 0x1000b30c
cmp eax, 0x944dada8
jne 0x1000b490
mov ecx, dword [0x10045b9c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b98], 0xa
jl 0x1000b50d
test eax, eax
jne 0x1000b54a
jmp 0x1000b50d
cmp eax, 0x2fd6a340
jle 0x1000b213
cmp eax, 0x2fd6a341
je 0x1000b335
cmp eax, 0x4b5a916e
je 0x1000b35e
cmp eax, 0x7ec78430
jne 0x1000b490
mov ecx, dword [0x10045b94]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b90], 0xa
jl 0x1000b970
test eax, eax
jne 0x1000b9ad
jmp 0x1000b970
cmp eax, 0xb3e0c704
jle 0x1000b252
cmp eax, 0xb3e0c705
je 0x1000b387
cmp eax, 0xcc84bbf7
je 0x1000b3b0
cmp eax, 0xd66bf949
jne 0x1000b490
mov ecx, dword [0x10045b8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b88], 0xa
jl 0x1000b5bd
test eax, eax
jne 0x1000b5fa
jmp 0x1000b5bd
cmp eax, 0x15356f89
je 0x1000b3d9
cmp eax, 0x19b5678a
jne 0x1000b47d
mov ecx, dword [0x10045b84]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b80], 0xa
jl 0x1000b9c8
test eax, eax
jne 0x1000b9f2
jmp 0x1000b9c8
cmp eax, 0x808f382b
je 0x1000b402
cmp eax, 0x8c34bb50
jne 0x1000b490
mov ecx, dword [0x10045b7c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b78], 0xa
jl 0x1000b4b5
test eax, eax
jne 0x1000b4f2
jmp 0x1000b4b5
cmp eax, 0x1c681801
je 0x1000b42b
cmp eax, 0x1d906efc
jne 0x1000b490
mov ecx, dword [0x10045b74]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b70], 0xa
jl 0x1000b683
test eax, eax
jne 0x1000b6e1
jmp 0x1000b683
cmp eax, 0x9bbca5da
je 0x1000b454
cmp eax, 0xaf499f09
jne 0x1000b490
mov ecx, dword [0x10045b6c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b68], 0xa
jl 0x1000b565
test eax, eax
jne 0x1000b5a2
jmp 0x1000b565
mov ecx, dword [0x10045b64]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b60], 0xa
jl 0x1000bd27
test eax, eax
jne 0x1000bdcf
jmp 0x1000bd27
mov ecx, dword [0x10045b5c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b58], 0xa
jl 0x1000b760
test eax, eax
jne 0x1000b79d
jmp 0x1000b760
mov ecx, dword [0x10045b54]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b50], 0xa
jl 0x1000b918
test eax, eax
jne 0x1000b955
jmp 0x1000b918
mov ecx, dword [0x10045b4c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b48], 0xa
jl 0x1000b9fa
test eax, eax
jne 0x1000ba24
jmp 0x1000b9fa
mov ecx, dword [0x10045b44]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b40], 0xa
jl 0x1000be58
test eax, eax
jne 0x1000bee7
jmp 0x1000be58
mov ecx, dword [0x10045b3c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b38], 0xa
jl 0x1000b810
test eax, eax
jne 0x1000b84d
jmp 0x1000b810
mov ecx, dword [0x10045b34]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b30], 0xa
jl 0x1000b7b8
test eax, eax
jne 0x1000b7f5
jmp 0x1000b7b8
mov ecx, dword [0x10045b2c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b28], 0xa
jl 0x1000b868
test eax, eax
jne 0x1000b8a5
jmp 0x1000b868
mov ecx, dword [0x10045b24]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b20], 0xa
jl 0x1000b8c0
test eax, eax
jne 0x1000b8fd
jmp 0x1000b8c0
mov ecx, dword [0x10045b1c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b18], 0xa
jl 0x1000b720
test eax, eax
jne 0x1000b751
jmp 0x1000b720
mov ecx, dword [0x10045b14]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b10], 0xa
jl 0x1000bf57
test eax, eax
jne 0x1000bf79
jmp 0x1000bf57
mov ecx, dword [0x10045b0c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b08], 0xa
jl 0x1000ba2c
test eax, eax
jne 0x1000bbb9
jmp 0x1000ba2c
cmp eax, 0x19ab083f
je 0x1000bfb5
nop dword [eax + eax]
mov ecx, dword [0x10045b04]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045b00], 0xa
jl 0x1000bf90
test eax, eax
jne 0x1000b490
jmp 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xf5e8fb30
mov eax, 0x15356f89
mov ecx, 0x8cdcd743
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045afc]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045af8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xf5e8fb30
mov eax, 0x15356f89
mov ecx, 0x8cdcd743
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000b4b5
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x69f58f8d
mov eax, 0xb3e0c705
mov ecx, 0x4b5a916e
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045af4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045af0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x69f58f8d
mov eax, 0xb3e0c705
mov ecx, 0x4b5a916e
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000b50d
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xd4a446ca
mov eax, 0x8c34bb50
mov ecx, 0x7ec78430
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045aec]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ae8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xd4a446ca
mov eax, 0x8c34bb50
mov ecx, 0x7ec78430
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000b565
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x50cd9cda
mov eax, 0x944dada8
mov ecx, 0xcc84bbf7
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045ae4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ae0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x50cd9cda
mov eax, 0x944dada8
mov ecx, 0xcc84bbf7
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000b5bd
mov eax, dword [esi + 0x34]
cmp byte [eax], 0
mov eax, 0xd4a446ca
mov ecx, 0x50cd9cda
cmovne eax, ecx
mov dword [edi], eax
mov ecx, dword [0x10045adc]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [ecx], 0
mov dword [ebx], 0x1c681801
and eax, 1
cmp dword [0x10045ad8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 0x34]
cmp byte [eax], 0
mov eax, 0xd4a446ca
mov ecx, 0x50cd9cda
cmovne eax, ecx
mov dword [edi], eax
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov dword [ebx], 0x1c681801
jmp 0x1000b615
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10031ed0
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0xf5e8fb30
mov ecx, 0x8f048bf6
cmove eax, ecx
mov dword [edi], eax
mov ecx, dword [0x10045ad4]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [esi + 8]
mov dword [ecx], 0
mov dword [ebx], 0x1c681801
and eax, 1
cmp dword [0x10045ad0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10031ed0
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0xf5e8fb30
mov ecx, 0x8f048bf6
cmove eax, ecx
mov dword [edi], eax
mov eax, dword [esi + 8]
mov dword [eax], 0
mov dword [ebx], 0x1c681801
jmp 0x1000b683
mov eax, dword [edi]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov ecx, dword [0x10045acc]
lea eax, [ecx + 1]
imul eax, ecx
mov dword [ebx], 0xf585ae15
and eax, 1
cmp dword [0x10045ac8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [edi]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [ebx], 0xf585ae15
jmp 0x1000b720
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x927a253
mov eax, 0xd66bf949
mov ecx, 0xaf499f09
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045ac4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ac0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x927a253
mov eax, 0xd66bf949
mov ecx, 0xaf499f09
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000b760
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x69f58f8d
mov eax, 0x19b5678a
mov ecx, 0x1d906efc
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045abc]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ab8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x69f58f8d
mov eax, 0x19b5678a
mov ecx, 0x1d906efc
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b7b8
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x50cd9cda
mov eax, 0x19b5678a
mov ecx, 0x19ab083f
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045ab4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045ab0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x50cd9cda
mov eax, 0x19b5678a
mov ecx, 0x19ab083f
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b810
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x927a253
mov eax, 0x19b5678a
mov ecx, 0xf64421ba
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045aac]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045aa8], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x927a253
mov eax, 0x19b5678a
mov ecx, 0xf64421ba
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b868
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xf5e8fb30
mov eax, 0x19b5678a
mov ecx, 0xe7c28541
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045aa4]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045aa0], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xf5e8fb30
mov eax, 0x19b5678a
mov ecx, 0xe7c28541
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b8c0
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xd4a446ca
mov eax, 0x19b5678a
mov ecx, 0x9bbca5da
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045a9c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a98], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0xd4a446ca
mov eax, 0x19b5678a
mov ecx, 0x9bbca5da
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b918
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x8f048bf6
mov eax, 0x19b5678a
mov ecx, 0x2fd6a341
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10045a94]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a90], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0x8f048bf6
mov eax, 0x19b5678a
mov ecx, 0x2fd6a341
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000b970
mov dword [ebx], 0x93a441e3
mov ecx, dword [0x10045a8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a88], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov dword [ebx], 0x93a441e3
jmp 0x1000b9c8
mov dword [ebx], 0x1c681801
mov ecx, dword [0x10045a84]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a80], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov dword [ebx], 0x1c681801
jmp 0x1000b9fa
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1004271d
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov dword [esi + 0x2c], eax
mov ecx, dword [0x100421a8]
mov edx, dword [0x100421ac]
mov ebx, edx
xor ebx, 0x83b6593c
xor ebx, 0x7c49a6c3
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, ebx
mov edi, ecx
and edi, ebx
xor ebx, ecx
or ebx, edi
add ebx, eax
mov eax, ecx
and eax, edx
not eax
add eax, ebx
mov edi, ecx
sub edi, eax
mov ebx, edi
neg ebx
mov eax, ebx
or eax, ecx
lea eax, [eax + edi*2]
mov edi, ecx
not edi
lea eax, [eax + edi*2]
and ebx, ecx
add ebx, eax
mov eax, ecx
or eax, edi
xor eax, 0x7e0efdf6
xor eax, 0x81f10209
add eax, edi
and edi, 0xca825e9c
sub eax, ecx
and ecx, 0x357da163
or ecx, edi
xor ecx, 0xca825e9c
add ecx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or ecx, eax
imul eax, ecx, 0xcd2e2881
neg eax
imul eax, eax, 0xd91a1781
add eax, ebx
imul ecx, eax, 0x8ba250f5
mov edx, ecx
not edx
mov edi, ecx
or edi, 0x33128018
and edx, 0x82984
and edi, 0x7f97d25a
or edi, edx
imul eax, eax, 0xa2e6f2df
xor edi, 0x7f97d25a
lea eax, [eax + edi*2]
mov edx, ecx
and edx, 0x4c8d7bc6
xor ecx, 0x4c8d7bc6
or ecx, edx
add ecx, ecx
sub eax, ecx
imul ecx, eax, 0x74bdb5d
add ecx, 0xf369cbb5
mov eax, ecx
not eax
mov edx, eax
and edx, 0xc96344b
mov edi, ecx
and edi, 0xf369cbb4
lea ebx, [edx + edi]
xor ebx, 0x641a580a
xor ebx, 0x9be5a7f5
xor ecx, 0xf369cbb4
or edi, ecx
sub edi, ebx
mov ebx, dword [esi + 0xc]
sub edi, eax
or ecx, edx
lea eax, [edi + ecx]
add eax, 0xc96344b
mov edi, dword [esi + 0x10]
cmp dword [esi + 0x2c], eax
mov eax, 0x69f58f8d
mov ecx, 0x8f048bf6
cmove eax, ecx
mov dword [edi], eax
mov ecx, dword [0x10045a7c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [esi + 8]
mov dword [ecx], 0
mov dword [ebx], 0x1c681801
and eax, 1
cmp dword [0x10045a78], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1004271d
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov dword [esi + 0x2c], eax
mov ecx, dword [0x100421a8]
mov edx, dword [0x100421ac]
mov ebx, edx
xor ebx, 0x83b6593c
xor ebx, 0x7c49a6c3
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, ebx
mov edi, ecx
and edi, ebx
xor ebx, ecx
or ebx, edi
add ebx, eax
mov eax, ecx
and eax, edx
not eax
add eax, ebx
mov edi, ecx
sub edi, eax
mov ebx, edi
neg ebx
mov eax, ebx
or eax, ecx
lea eax, [eax + edi*2]
mov edi, ecx
not edi
lea eax, [eax + edi*2]
and ebx, ecx
add ebx, eax
mov eax, ecx
or eax, edi
xor eax, 0x7e0efdf6
xor eax, 0x81f10209
add eax, edi
and edi, 0xca825e9c
sub eax, ecx
and ecx, 0x357da163
or ecx, edi
xor ecx, 0xca825e9c
add ecx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or ecx, eax
imul eax, ecx, 0xcd2e2881
neg eax
imul eax, eax, 0xd91a1781
add eax, ebx
imul ecx, eax, 0x8ba250f5
mov edx, ecx
not edx
mov edi, ecx
or edi, 0x33128018
and edx, 0x82984
and edi, 0x7f97d25a
or edi, edx
imul eax, eax, 0xa2e6f2df
xor edi, 0x7f97d25a
lea eax, [eax + edi*2]
mov edx, ecx
and edx, 0x4c8d7bc6
xor ecx, 0x4c8d7bc6
or ecx, edx
add ecx, ecx
sub eax, ecx
imul ecx, eax, 0x74bdb5d
add ecx, 0xf369cbb5
mov eax, ecx
not eax
mov edx, eax
and edx, 0xc96344b
mov edi, ecx
and edi, 0xf369cbb4
lea ebx, [edx + edi]
xor ebx, 0x641a580a
xor ebx, 0x9be5a7f5
xor ecx, 0xf369cbb4
or edi, ecx
sub edi, ebx
sub edi, eax
or ecx, edx
lea eax, [edi + ecx]
add eax, 0xc96344b
cmp dword [esi + 0x2c], eax
mov eax, 0x69f58f8d
mov ecx, 0x8f048bf6
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax], 0x1c681801
jmp 0x1000ba2c
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1004272b
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x24]
mov ecx, dword [edi]
push 0
push dword [esi + 0x30]
push dword [ecx]
mov ebx, dword [esi + 0x28]
push dword [ebx]
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x100421b8]
mov edx, dword [0x100421bc]
mov ecx, edx
not ecx
mov edi, eax
and edi, ecx
xor ecx, eax
or ecx, edi
mov edi, edx
sub edi, eax
add ecx, edi
xor eax, 0xdb9a886f
xor eax, 0x24657790
mov edi, eax
and edi, edx
xor eax, edx
or eax, edi
mov edi, dword [esi + 0x10]
sub ecx, eax
add ecx, 0x8f048bf6
mov dword [edi], ecx
mov eax, dword [ebx]
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [0x10045a74]
lea eax, [ecx + 1]
imul eax, ecx
mov dword [ebx], 0x1c681801
and eax, 1
cmp dword [0x10045a70], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1004272b
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x24]
mov ecx, dword [edi]
push 0
push dword [esi + 0x30]
push dword [ecx]
mov ebx, dword [esi + 0x28]
push dword [ebx]
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x100421b8]
mov edx, dword [0x100421bc]
mov ecx, edx
not ecx
mov edi, eax
and edi, ecx
xor ecx, eax
or ecx, edi
mov edi, edx
sub edi, eax
add ecx, edi
xor eax, 0xdb9a886f
xor eax, 0x24657790
mov edi, eax
and edi, edx
xor eax, edx
or eax, edi
sub ecx, eax
add ecx, 0x8f048bf6
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebx]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x1c681801
jmp 0x1000bd27
mov eax, dword [esi + 8]
mov ebx, dword [eax]
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10042734
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov eax, dword [0x100421c0]
mov edx, dword [0x100421c4]
mov ecx, edx
not ecx
mov edi, eax
or edi, ecx
not edi
lea edi, [eax + edi*2]
add edx, edx
sub edi, edx
mov edx, eax
and edx, ecx
not edx
add edx, edi
mov edi, dword [esi + 0x10]
xor ecx, eax
and ecx, eax
lea eax, [ecx + edx]
add eax, 0x50cd9cdb
mov dword [edi], eax
mov eax, dword [esi + 0x18]
mov dword [eax], ebx
mov ebx, dword [esi + 0xc]
mov ecx, dword [0x10045a6c]
lea eax, [ecx + 1]
imul eax, ecx
mov dword [ebx], 0x1c681801
and eax, 1
cmp dword [0x10045a68], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov eax, dword [esi + 8]
mov ebx, dword [eax]
push 0x10042710
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10042734
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x14]
push dword [ecx]
call eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov eax, dword [0x100421c0]
mov edx, dword [0x100421c4]
mov ecx, edx
not ecx
mov edi, eax
or edi, ecx
not edi
lea edi, [eax + edi*2]
add edx, edx
sub edi, edx
mov edx, eax
and edx, ecx
not edx
add edx, edi
xor ecx, eax
and ecx, eax
lea eax, [ecx + edx]
add eax, 0x50cd9cdb
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [eax], ebx
mov eax, dword [esi + 0xc]
mov dword [eax], 0x1c681801
jmp 0x1000be58
mov dword [ebx], 0x808f382b
mov ecx, dword [0x10045a64]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a60], 0xa
jl 0x1000bf90
test eax, eax
je 0x1000bf90
mov dword [ebx], 0x808f382b
jmp 0x1000bf57
mov ecx, dword [0x10045a5c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a58], 0xa
jl 0x1000aff0
test eax, eax
jne 0x1000bf90
jmp 0x1000aff0
cmp dword [0x10045a54], 0xa
nop dword [eax]
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
mov ecx, dword [0x10045a50]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x10045a4c], 0xa
jl 0x1000bfe1
test eax, eax
jne 0x1000bfc0
mov ecx, dword [esi + 0x38]
xor ecx, ebp
call fcn.1002ef60
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret