Function at 0x103a2180
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Inspect section memory permissions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13b4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [0x103b0070]
mov dword [0x103b114c], eax
mov dword [0x103b1150], ecx
mov ecx, dword [0x103b1108]
mov eax, 0x103b0070
sub eax, esi
test ecx, ecx
push edi
mov dword [0x103b1154], edx
mov dword [0x103b0070], eax
mov dword [0x103b112c], 0x103b0070
je 0x103a21d7
add ecx, eax
mov dword [0x103b113c], ecx
mov eax, dword [0x103b0080]
test eax, eax
jne 0x103a21f4
mov dword [0x103b1130], 0x103b0084
mov dword [0x103b1138], 0x103b0104
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x309c
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x36c], eax
je 0x103a21f4
jmp 0x103a2230
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x28], eax
je 0x103a2230
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0xc0], eax
je 0x103a2260
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0xcc], eax
je 0x103a2293
mov dword [esp + 0xc4], 0x36f18846
jmp 0x103a22d6
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x709c
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x368], eax
je 0x103a22d6
lea esp, [esp]
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x4000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x350], eax
je 0x103a2310
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x2000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x364], eax
je 0x103a2343
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0xa0], eax
je 0x103a2376
mov dword [esp + 0x2c], 0x39b2f451
jmp 0x103a23b6
mov ebx, dword [esp + 0x368]
mov edx, 0xd4efd1ac
mov esi, 0x103c2c08
jmp 0x103a23cc
mov ecx, 0x3fb
xor eax, eax
lea edi, [esp + 0x3a8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0xfee
mov dword [esp + 0xa8], edi
mov dword [esp + 0x7c], 0
jmp 0x103a2400
mov edi, dword [esp + 0xa8]
jmp 0x103a2400
mov eax, dword [esp + 0x7c]
shr eax, 1
test ah, 1
mov dword [esp + 0x7c], eax
jne 0x103a24a2
cmp esi, 0x103c5bff
je 0x103a26fc
mov dword [esp + 0x1c], 0x41
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0xc8]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a2479
movzx ecx, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor eax, ecx
inc esi
jmp 0x103a2499
or eax, 0xff00
mov dword [esp + 0x7c], eax
test byte [esp + 0x7c], 1
je 0x103a2562
cmp esi, 0x103c5bff
je 0x103a26fc
mov dword [esp + 0x1c], 0x41
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0xc8]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a2513
movzx ecx, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor eax, ecx
inc esi
mov byte [ebx], al
inc ebx
mov byte [esp + edi + 0x3a8], al
jmp 0x103a253b
mov eax, dword [esp + 0x368]
inc edi
and edi, 0xfff
add eax, 0x709c
cmp ebx, eax
mov dword [esp + 0xa8], edi
jne 0x103a2400
jmp 0x103a26fc
cmp esi, 0x103c5bff
je 0x103a26fc
mov edi, 0x41
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0xc8]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a25c9
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx ecx, dl
xor ecx, eax
inc esi
cmp esi, 0x103c5bff
je 0x103a26fc
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add eax, 0xa7
mov dword [esp + 0xc8], eax
mov edi, dword [esp + 0xc8]
mov eax, edx
shr eax, 0x10
imul eax, edi
mov edi, dword [esp + 0xc8]
and edx, 0xffff
imul edx, edi
mov edi, eax
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr eax, 0xf
add edx, eax
jmp 0x103a2645
movzx edi, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor eax, edi
mov edi, eax
and edi, 0xf0
and eax, 0xf
shl edi, 4
add eax, 2
inc esi
or ecx, edi
mov dword [esp + 0x1c], eax
jmp 0x103a267c
xor edi, edi
test eax, eax
mov dword [esp + 0xc8], edi
jl 0x103a26e8
lea esp, [esp]
add edi, ecx
and edi, 0xfff
movzx eax, byte [esp + edi + 0x3a8]
mov edi, dword [esp + 0x368]
mov byte [ebx], al
inc ebx
add edi, 0x709c
cmp ebx, edi
je 0x103a26fc
mov edi, dword [esp + 0xa8]
mov byte [esp + edi + 0x3a8], al
mov eax, edi
mov edi, dword [esp + 0xc8]
inc eax
and eax, 0xfff
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
inc edi
cmp edi, eax
mov dword [esp + 0xc8], edi
jle 0x103a2690
mov eax, dword [esp + 0x368]
add eax, 0x709c
cmp ebx, eax
jne 0x103a23f4
mov ebx, dword [esp + 0x368]
mov edi, dword [esp + 0x350]
mov ecx, 0x1000
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x103a2718
mov edi, dword [esp + 0x364]
mov ecx, 0x800
lea esi, [ebx + 0x409c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xa0]
mov ecx, 0x400
lea esi, [ebx + 0x609c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x103d969c]
mov edx, dword [ecx]
push 0
call dword [edx + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x5148
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x358], eax
je 0x103a2740
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x3000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x354], eax
je 0x103a2773
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x35c], eax
je 0x103a27a6
lea esp, [esp]
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x360], eax
je 0x103a27e0
mov dword [esp + 0x20], 0x5b1b3555
jmp 0x103a2820
mov edx, dword [esp + 0x2c]
lea esi, [ebx + 0x4002]
mov dword [esp + 0x24], 0x27
mov edi, 0xffff
mov dword [esp + 0x1c], 0x20
mov eax, dword [esp + 0x1c]
add eax, 0x21
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
shl ecx, 8
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
add eax, 7
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
or ecx, 0xa0
mov dword [esp + 0xc8], ecx
mov ebx, 8
mov dword [esp + 0x2c], edi
mov ecx, edx
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xc8]
shr ecx, 0x10
imul ecx, eax
jmp 0x103a2895
mov eax, dword [esp + 0x2c]
and eax, edx
mov edx, dword [esp + 0xc8]
imul eax, edx
mov edx, dword [esp + 0x2c]
sar edx, 1
and edx, ecx
shl edx, 0x10
shr ecx, 0xf
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0xa8]
shl ecx, 0x1c
test eax, ecx
je 0x103a28d3
mov ecx, dword [esp + 0xa8]
shl ecx, 0x1c
not ecx
jmp 0x103a28d5
xor ecx, ecx
xor edx, edx
mov dl, byte [esi - 2]
sub eax, ecx
xor edx, eax
mov byte [esp + 0x7c], dl
mov dword [esp + 0x1c], 0x20
mov ecx, dword [esp + 0x1c]
add ecx, 0x21
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
shl edx, 8
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
add ecx, 7
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
or edx, 0xa0
mov dword [esp + 0xc8], edx
mov dword [esp + 0x2c], edi
mov edx, eax
mov dword [esp + 0xa8], ebx
mov ecx, dword [esp + 0xc8]
shr edx, 0x10
imul edx, ecx
jmp 0x103a293b
mov ecx, dword [esp + 0x2c]
and ecx, eax
mov eax, dword [esp + 0xc8]
imul ecx, eax
mov eax, dword [esp + 0x2c]
sar eax, 1
and eax, edx
shl eax, 0x10
shr edx, 0xf
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0xa8]
shl edx, 0x1c
test ecx, edx
je 0x103a2979
mov eax, dword [esp + 0xa8]
shl eax, 0x1c
not eax
jmp 0x103a297b
xor eax, eax
sub ecx, eax
xor eax, eax
mov al, byte [esi - 1]
xor eax, ecx
mov byte [esp + 0x7d], al
mov dword [esp + 0x1c], 0x20
mov edx, dword [esp + 0x1c]
add edx, 0x21
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
add edx, 7
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
or eax, 0xa0
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2c], edi
mov edx, ecx
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xc8]
shr edx, 0x10
imul edx, eax
jmp 0x103a29e0
mov eax, dword [esp + 0x2c]
and eax, ecx
mov ecx, dword [esp + 0xc8]
imul eax, ecx
mov ecx, dword [esp + 0x2c]
sar ecx, 1
and ecx, edx
shl ecx, 0x10
shr edx, 0xf
add eax, ecx
add eax, edx
mov edx, dword [esp + 0xa8]
shl edx, 0x1c
test eax, edx
je 0x103a2a1e
mov ecx, dword [esp + 0xa8]
shl ecx, 0x1c
not ecx
jmp 0x103a2a20
xor ecx, ecx
sub eax, ecx
xor ecx, ecx
mov cl, byte [esi]
xor ecx, eax
mov byte [esp + 0x7e], cl
mov dword [esp + 0x1c], 0x20
mov edx, dword [esp + 0x1c]
add edx, 0x21
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
shl ecx, 8
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
add edx, 7
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
or ecx, 0xa0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc8], edi
mov ecx, eax
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 0x2c]
shr ecx, 0x10
imul ecx, edx
jmp 0x103a2a82
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc8]
and ebx, eax
mov eax, dword [esp + 0x2c]
imul ebx, eax
sar edx, 1
and edx, ecx
shl edx, 0x10
shr ecx, 0xf
add edx, ebx
add edx, ecx
mov ecx, dword [esp + 0xa8]
shl ecx, 0x1c
test edx, ecx
je 0x103a2ac3
mov eax, dword [esp + 0xa8]
shl eax, 0x1c
not eax
jmp 0x103a2ac5
xor eax, eax
sub edx, eax
xor eax, eax
mov al, byte [esi + 1]
xor eax, edx
mov byte [esp + 0x7f], al
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xa8], ecx
jmp 0x103a2ae3
mov eax, dword [esp + 0xa8]
mov ecx, 0x20000000
test ecx, eax
je 0x103a2b08
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa0]
and eax, 0xdfffffff
jmp 0x103a2b31
test dword [esp + 0xa8], 0x10000000
mov eax, dword [esp + 0xa8]
je 0x103a2b2a
mov ebx, dword [esp + 0x364]
and eax, 0xefffffff
jmp 0x103a2b31
mov ebx, dword [esp + 0x350]
add eax, ebx
mov ebx, dword [eax]
mov dword [esp + 0xa8], ebx
test dword [esp + 0xa8], ecx
je 0x103a2b5b
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa0]
and ecx, 0xdfffffff
jmp 0x103a2b85
test dword [esp + 0xa8], 0x10000000
mov ecx, dword [esp + 0xa8]
je 0x103a2b7e
mov ebx, dword [esp + 0x364]
and ecx, 0xefffffff
jmp 0x103a2b85
mov ebx, dword [esp + 0x350]
add ecx, ebx
mov dword [eax], ecx
mov eax, dword [esp + 0x24]
add esi, 4
dec eax
mov dword [esp + 0x24], eax
jne 0x103a2837
mov ebx, dword [esp + 0x36c]
lea eax, [ebx + 0x309c]
mov edx, 0x85e07669
mov esi, 0x103c5c00
mov dword [esp + 0xa0], eax
jmp 0x103a2bbe
mov ecx, 0x3fb
xor eax, eax
lea edi, [esp + 0x3a8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0xfee
mov dword [esp + 0xa8], edi
mov dword [esp + 0x7c], 0
jmp 0x103a2bf0
mov edi, dword [esp + 0xa8]
lea ecx, [ecx]
mov eax, dword [esp + 0x7c]
shr eax, 1
test ah, 1
mov dword [esp + 0x7c], eax
jne 0x103a2c88
cmp esi, 0x103c6549
je 0x103a2ea9
mov dword [esp + 0x1c], 0x41
mov ecx, dword [esp + 0x1c]
shl ecx, 8
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a2c5f
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx ecx, dl
xor eax, ecx
inc esi
jmp 0x103a2c7f
or eax, 0xff00
mov dword [esp + 0x7c], eax
test byte [esp + 0x7c], 1
je 0x103a2d3a
cmp esi, 0x103c6549
je 0x103a2ea9
mov dword [esp + 0x1c], 0x41
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a2cf0
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx ecx, dl
xor eax, ecx
inc esi
mov byte [ebx], al
inc ebx
mov byte [esp + edi + 0x3a8], al
jmp 0x103a2d18
mov eax, dword [esp + 0xa0]
inc edi
and edi, 0xfff
cmp ebx, eax
mov dword [esp + 0xa8], edi
jne 0x103a2bf0
jmp 0x103a2ea9
cmp esi, 0x103c6549
je 0x103a2ea9
mov edi, 0x41
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a2d98
movzx ecx, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor ecx, eax
inc esi
cmp esi, 0x103c6549
je 0x103a2ea9
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, eax
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr eax, 0xf
add edx, eax
jmp 0x103a2e0b
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx edi, dl
xor eax, edi
mov edi, eax
and edi, 0xf0
and eax, 0xf
shl edi, 4
add eax, 2
inc esi
or ecx, edi
mov dword [esp + 0x1c], eax
jmp 0x103a2e42
xor edi, edi
test eax, eax
mov dword [esp + 0x24], edi
jl 0x103a2e9c
lea esp, [esp]
add edi, ecx
and edi, 0xfff
movzx eax, byte [esp + edi + 0x3a8]
mov edi, dword [esp + 0xa0]
mov byte [ebx], al
inc ebx
cmp ebx, edi
je 0x103a2ea9
mov edi, dword [esp + 0xa8]
mov byte [esp + edi + 0x3a8], al
mov eax, edi
mov edi, dword [esp + 0x24]
inc eax
and eax, 0xfff
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
inc edi
cmp edi, eax
mov dword [esp + 0x24], edi
jle 0x103a2e50
cmp ebx, dword [esp + 0xa0]
jne 0x103a2be6
mov eax, dword [esp + 0x36c]
mov edi, dword [esp + 0x28]
mov ecx, 0x400
mov esi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x103a2ec2
mov edi, dword [esp + 0xc0]
lea esi, [eax + 0x109c]
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xcc]
lea esi, [eax + 0x209c]
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0x350]
push ecx
push 1
lea eax, [esi + 0x326d]
push 0
call eax
lea eax, [esi + 0x31cd]
call eax
mov ebx, eax
jmp 0x103a2f15
jmp 0x103a2f18
jmp 0x103a2f12
mov eax, dword [esp + 0x358]
mov dword [esp + 0xa8], eax
add eax, 0x5148
mov dword [0x103b1110], ebx
mov edx, 0x1f76f74e
mov esi, 0x103d6838
mov dword [esp + 0xa0], eax
jmp 0x103a2f47
mov ecx, 0x3fb
xor eax, eax
lea edi, [esp + 0x3a8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [esp + 0x350], 0xfee
mov dword [esp + 0x7c], 0
mov edi, dword [esp + 0x7c]
shr edi, 1
test edi, 0x100
mov eax, 0x41
mov dword [esp + 0x7c], edi
jne 0x103a300c
cmp esi, 0x103d9696
je 0x103a3256
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
shl ecx, 8
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x24]
mov ecx, edx
shr ecx, 0x10
imul ecx, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, ecx
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr ecx, 0xf
add edx, ecx
jmp 0x103a2fe0
mov ecx, edx
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
and ecx, 0x7fffffff
sub edx, ecx
movzx ecx, byte [esi]
movzx edi, dl
xor edi, ecx
inc esi
jmp 0x103a3002
or edi, 0xff00
mov dword [esp + 0x7c], edi
test byte [esp + 0x7c], 1
je 0x103a30cd
cmp esi, 0x103d9696
je 0x103a3256
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov ecx, edx
shr ecx, 0x10
imul ecx, eax
mov eax, dword [esp + 0x24]
and edx, 0xffff
imul edx, eax
mov eax, ecx
and eax, 0x7fff
shl eax, 0x10
add edx, eax
shr ecx, 0xf
add edx, ecx
jmp 0x103a306f
movzx eax, byte [esi]
mov edi, dword [esp + 0xa8]
mov ecx, edx
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
and ecx, 0x7fffffff
sub edx, ecx
movzx ecx, dl
xor ecx, eax
mov eax, dword [esp + 0x350]
inc esi
mov byte [edi], cl
inc edi
mov dword [esp + 0xa8], edi
mov byte [esp + eax + 0x3a8], cl
jmp 0x103a30ae
inc eax
and eax, 0xfff
mov dword [esp + 0x350], eax
cmp edi, dword [esp + 0xa0]
je 0x103a3256
jmp 0x103a2f6c
cmp esi, 0x103d9696
je 0x103a3256
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
shl ecx, 8
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x24]
mov ecx, edx
shr ecx, 0x10
imul ecx, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, ecx
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr ecx, 0xf
add edx, ecx
jmp 0x103a3126
mov ecx, edx
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
and ecx, 0x7fffffff
sub edx, ecx
movzx ecx, byte [esi]
movzx edi, dl
xor edi, ecx
inc esi
cmp esi, 0x103d9696
je 0x103a3256
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
shl eax, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xa7
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov ecx, edx
shr ecx, 0x10
imul ecx, eax
mov eax, dword [esp + 0x24]
and edx, 0xffff
imul edx, eax
mov eax, ecx
and eax, 0x7fff
shl eax, 0x10
add edx, eax
shr ecx, 0xf
add edx, ecx
jmp 0x103a319b
movzx eax, byte [esi]
mov ecx, edx
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
and ecx, 0x7fffffff
sub edx, ecx
movzx ecx, dl
xor ecx, eax
mov eax, ecx
and eax, 0xf0
and ecx, 0xf
shl eax, 4
add ecx, 2
inc esi
or edi, eax
mov dword [esp + 0xc8], ecx
jmp 0x103a31d6
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jl 0x103a3242
add eax, edi
and eax, 0xfff
movzx ecx, byte [esp + eax + 0x3a8]
mov eax, dword [esp + 0xa8]
mov byte [eax], cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xa0]
inc eax
cmp eax, ecx
mov dword [esp + 0xa8], eax
je 0x103a3256
mov eax, dword [esp + 0x350]
mov cl, byte [esp + 0x1c]
mov byte [esp + eax + 0x3a8], cl
mov ecx, dword [esp + 0xc8]
inc eax
and eax, 0xfff
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jle 0x103a31e0
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0xa0]
jne 0x103a2f6c
mov eax, dword [esp + 0x358]
mov edi, dword [esp + 0x354]
mov ecx, 0xc00
mov esi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x103a3272
mov edi, dword [esp + 0x35c]
mov edx, dword [esp + 0xc4]
mov ecx, 0x400
lea esi, [eax + 0x3148]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x360]
mov ecx, 0x400
lea esi, [eax + 0x4148]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x36c]
add edi, 0x1002
mov dword [esp + 0xa0], 0x27
mov dword [esp + 0xc4], 0x20
mov ecx, dword [esp + 0xc4]
add ecx, 0x21
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
shl ecx, 8
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
add ecx, 7
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
or ecx, 0xa0
mov eax, 0xffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], eax
mov esi, edx
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
shr esi, 0x10
imul esi, ecx
jmp 0x103a332d
mov ecx, dword [esp + 0xc8]
and ecx, edx
mov edx, dword [esp + 0x24]
imul ecx, edx
mov edx, dword [esp + 0xc8]
sar edx, 1
and edx, esi
shl edx, 0x10
add ecx, edx
mov edx, dword [esp + 0x2c]
shr esi, 0xf
add ecx, esi
shl edx, 0x1c
test ecx, edx
je 0x103a3368
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
not edx
jmp 0x103a336a
xor edx, edx
sub ecx, edx
xor edx, edx
mov dl, byte [edi - 2]
mov esi, ecx
shr esi, 0x10
xor edx, ecx
mov byte [esp + 0x7c], dl
mov dword [esp + 0xc4], 0x20
mov edx, dword [esp + 0xc4]
add edx, 0x21
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
shl edx, 8
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
add edx, 7
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
or edx, 0xa0
mov dword [esp + 0x24], edx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2c], 8
mov edx, dword [esp + 0x24]
imul esi, edx
jmp 0x103a33e6
mov edx, dword [esp + 0xc8]
and edx, ecx
mov ecx, dword [esp + 0x24]
imul edx, ecx
mov ecx, dword [esp + 0xc8]
sar ecx, 1
and ecx, esi
shl ecx, 0x10
add edx, ecx
mov ecx, dword [esp + 0x2c]
shr esi, 0xf
add edx, esi
shl ecx, 0x1c
test edx, ecx
je 0x103a3421
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1c
not ecx
jmp 0x103a3423
xor ecx, ecx
sub edx, ecx
xor ecx, ecx
mov cl, byte [edi - 1]
mov esi, edx
shr esi, 0x10
xor ecx, edx
mov byte [esp + 0x7d], cl
mov dword [esp + 0xc4], 0x20
mov ecx, dword [esp + 0xc4]
add ecx, 0x21
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
shl ecx, 8
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
add ecx, 7
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
or ecx, 0xa0
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
imul esi, ecx
jmp 0x103a349f
mov ecx, dword [esp + 0xc8]
and ecx, edx
mov edx, dword [esp + 0x24]
imul ecx, edx
mov edx, dword [esp + 0xc8]
sar edx, 1
and edx, esi
shl edx, 0x10
add ecx, edx
mov edx, dword [esp + 0x2c]
shr esi, 0xf
add ecx, esi
shl edx, 0x1c
test ecx, edx
je 0x103a34da
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
not edx
jmp 0x103a34dc
xor edx, edx
sub ecx, edx
xor edx, edx
mov dl, byte [edi]
mov esi, ecx
shr esi, 0x10
xor edx, ecx
mov byte [esp + 0x7e], dl
mov dword [esp + 0xc4], 0x20
mov edx, dword [esp + 0xc4]
add edx, 0x21
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
shl edx, 8
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
add edx, 7
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0xc4]
or edx, 0xa0
mov dword [esp + 0x24], edx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2c], 8
mov eax, dword [esp + 0x24]
imul esi, eax
jmp 0x103a3557
mov edx, dword [esp + 0xc8]
and edx, ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc8]
imul edx, ecx
mov ecx, dword [esp + 0x2c]
sar eax, 1
and eax, esi
shl eax, 0x10
add edx, eax
shr esi, 0xf
add edx, esi
shl ecx, 0x1c
test edx, ecx
je 0x103a3592
mov eax, dword [esp + 0x2c]
shl eax, 0x1c
not eax
jmp 0x103a3594
xor eax, eax
sub edx, eax
xor eax, eax
mov al, byte [edi + 1]
xor eax, edx
mov byte [esp + 0x7f], al
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xa8], ecx
jmp 0x103a35b2
mov ecx, dword [esp + 0xa8]
mov eax, 0x20000000
test eax, ecx
je 0x103a35d8
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xcc]
and ecx, 0xdfffffff
jmp 0x103a35ff
test dword [esp + 0xa8], 0x10000000
mov ecx, dword [esp + 0xa8]
je 0x103a35fb
mov esi, dword [esp + 0xc0]
and ecx, 0xefffffff
jmp 0x103a35ff
mov esi, dword [esp + 0x28]
add ecx, esi
mov esi, dword [ecx]
mov dword [esp + 0xa8], esi
test dword [esp + 0xa8], eax
je 0x103a3628
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xcc]
and eax, 0xdfffffff
jmp 0x103a364e
test dword [esp + 0xa8], 0x10000000
mov eax, dword [esp + 0xa8]
je 0x103a364a
mov esi, dword [esp + 0xc0]
and eax, 0xefffffff
jmp 0x103a364e
mov esi, dword [esp + 0x28]
add eax, esi
mov dword [ecx], eax
mov eax, dword [esp + 0xa0]
add edi, 4
dec eax
mov dword [esp + 0xa0], eax
jne 0x103a32b9
lea ebx, [ebx]
mov ecx, dword [0x103d969c]
mov edx, dword [ecx]
push 0
call dword [edx + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x304c
push 1
call dword [edx + 0x20]
mov edi, eax
test edi, edi
mov dword [esp + 0xa0], edi
je 0x103a3670
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0xcc], eax
je 0x103a36a5
jmp 0x103a36e0
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x364], eax
je 0x103a36e0
mov ecx, dword [0x103d969c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x1000
push 1
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x350], eax
je 0x103a3713
mov dword [esp + 0x2c], 0x98912586
jmp 0x103a3753
mov esi, 0x103b0010
xor eax, eax
lea edx, [esi + 1]
lea ecx, [ecx]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x103a3760
sub esi, edx
mov dword [esp + 0xa4], esi
je 0x103a379d
mov cl, byte [eax + 0x103b0010]
xor cl, 0xaa
mov esi, 0x103b0010
mov byte [esp + eax + 0xac], cl
inc eax
lea edx, [esi + 1]
jmp 0x103a3790
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x103a3790
sub esi, edx
cmp eax, esi
jb 0x103a3772
mov byte [esp + eax + 0xac], 0
jmp 0x103a37ac
jmp 0x103a37af
jmp 0x103a37a9
mov eax, dword [0x103d993c]
lea edx, [esp + 0xac]
push edx
call dword [eax]
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0x28]
push ecx
push 1
mov dword [0x103d9698], eax
lea eax, [esi + 0x41c]
push 0
mov dword [0x103d9940], 0x103d9698
call eax
lea eax, [esi + 0x308]
call eax
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x103a37f9
jmp 0x103a37fc
jmp 0x103a37f6
lea eax, [esp + 0x150]
mov byte [esp + 0x150], 0x66
mov byte [esp + 0x151], 0x45
mov byte [esp + 0x152], 0x49
mov byte [esp + 0x153], 0x79
mov byte [esp + 0x154], 0x50
mov byte [esp + 0x155], 0x7a
mov byte [esp + 0x156], 0x53
mov byte [esp + 0x157], 0x41
mov byte [esp + 0x158], 0x5a
mov byte [esp + 0x159], 0x6e
mov byte [esp + 0x15a], 0x66
mov byte [esp + 0x15b], 0x67
mov byte [esp + 0x15c], 0x78
mov byte [esp + 0x15d], 0x74
mov byte [esp + 0x15e], 0x6b
mov byte [esp + 0x15f], 0x52
mov byte [esp + 0x160], 0x45
mov byte [esp + 0x161], 0x63
mov byte [esp + 0x162], 0x46
mov byte [esp + 0x163], 0x76
mov byte [esp + 0x164], 0x59
mov byte [esp + 0x165], 0x77
mov byte [esp + 0x166], 0x55
mov byte [esp + 0x167], 0x4d
mov byte [esp + 0x168], 0x71
mov byte [esp + 0x169], 0x48
mov byte [esp + 0x16a], 0x61
mov byte [esp + 0x16b], 0x61
mov byte [esp + 0x16c], 0x65
mov byte [esp + 0x16d], 0x48
mov byte [esp + 0x16e], 0x78
mov byte [esp + 0x16f], 0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 8]
mov eax, dword [esp + 0x354]
mov edx, dword [ebx]
push 0x3000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov byte [esp + 0x230], 0x72
mov byte [esp + 0x231], 0x67
mov byte [esp + 0x232], 0x72
mov byte [esp + 0x233], 0x51
mov byte [esp + 0x234], 0x46
mov byte [esp + 0x235], 0x69
mov byte [esp + 0x236], 0x72
mov byte [esp + 0x237], 0x59
mov byte [esp + 0x238], 0x45
mov byte [esp + 0x239], 0x75
mov byte [esp + 0x23a], 0x69
mov byte [esp + 0x23b], 0x64
mov byte [esp + 0x23c], 0x6b
mov byte [esp + 0x23d], 0x4c
mov byte [esp + 0x23e], 0x6f
mov byte [esp + 0x23f], 0x44
mov byte [esp + 0x240], 0x67
mov byte [esp + 0x241], 0x74
lea eax, [esp + 0x230]
mov byte [esp + 0x242], 0x66
mov byte [esp + 0x243], 0x66
mov byte [esp + 0x244], 0x41
mov byte [esp + 0x245], 0x4e
mov byte [esp + 0x246], 0x79
mov byte [esp + 0x247], 0x4c
mov byte [esp + 0x248], 0x79
mov byte [esp + 0x249], 0x54
mov byte [esp + 0x24a], 0x6d
mov byte [esp + 0x24b], 0x6c
mov byte [esp + 0x24c], 0x59
mov byte [esp + 0x24d], 0x54
mov byte [esp + 0x24e], 0x52
mov byte [esp + 0x24f], 0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 8]
jmp 0x103a3a34
mov eax, dword [esp + 0x35c]
mov edx, dword [ebx]
push 0x1000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [esp + 0x360]
mov edx, dword [ebx]
push 0x1000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov dword [esp + 0x28], edi
add edi, 0x304c
mov dword [0x103b1114], esi
mov edx, 0x271a2222
mov esi, 0x103c6550
mov dword [esp + 0xc0], edi
jmp 0x103a3a82
mov ecx, 0x3fb
xor eax, eax
lea edi, [esp + 0x3a8]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x28]
stosw word es:[edi], ax
mov dword [esp + 0xa8], 0xfee
mov dword [esp + 0x7c], 0
jmp 0x103a3ab0
mov edi, dword [esp + 0x7c]
shr edi, 1
test edi, 0x100
mov dword [esp + 0x7c], edi
jne 0x103a3b58
cmp esi, 0x103c6dac
je 0x103a3dbf
mov dword [esp + 0xc4], 0x41
mov eax, dword [esp + 0xc4]
shl eax, 8
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, eax
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr eax, 0xf
add edx, eax
jmp 0x103a3b2e
movzx edi, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor edi, eax
inc esi
jmp 0x103a3b4e
or edi, 0xff00
mov dword [esp + 0x7c], edi
test byte [esp + 0x7c], 1
je 0x103a3c11
cmp esi, 0x103c6dac
je 0x103a3dbf
mov dword [esp + 0xc4], 0x41
mov eax, dword [esp + 0xc4]
shl eax, 8
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, eax
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr eax, 0xf
add edx, eax
jmp 0x103a3bcb
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx edi, dl
xor eax, edi
mov edi, dword [esp + 0xa8]
inc esi
mov byte [ecx], al
inc ecx
mov dword [esp + 0x28], ecx
mov byte [esp + edi + 0x3a8], al
jmp 0x103a3bfe
inc edi
and edi, 0xfff
mov dword [esp + 0xa8], edi
jmp 0x103a3db2
cmp esi, 0x103c6dac
je 0x103a3dbf
mov ecx, 0x41
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xc4]
shl eax, 8
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, edi
mov edi, dword [esp + 0x24]
and edx, 0xffff
imul edx, edi
mov edi, eax
and edi, 0x7fff
shl edi, 0x10
add edx, edi
shr eax, 0xf
add edx, eax
jmp 0x103a3c7a
movzx edi, byte [esi]
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, dl
xor edi, eax
inc esi
cmp esi, 0x103c6dac
je 0x103a3dbf
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
shl ecx, 8
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xc4]
add eax, 0xa7
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, edx
shr eax, 0x10
imul eax, ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
imul edx, ecx
mov ecx, eax
and ecx, 0x7fff
shl ecx, 0x10
add edx, ecx
shr eax, 0xf
add edx, eax
jmp 0x103a3cf9
mov eax, edx
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x7fffffff
sub edx, eax
movzx eax, byte [esi]
movzx ecx, dl
xor eax, ecx
mov ecx, eax
and ecx, 0xf0
shl ecx, 4
and eax, 0xf
or edi, ecx
add eax, 2
mov ecx, eax
inc esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], ecx
jmp 0x103a3d3c
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
jl 0x103a3db2
jmp 0x103a3d60
mov edi, dword [esp + 0xc4]
jmp 0x103a3d60
add eax, edi
mov edi, dword [esp + 0xc0]
and eax, 0xfff
movzx eax, byte [esp + eax + 0x3a8]
mov byte [ecx], al
inc ecx
cmp ecx, edi
mov dword [esp + 0x28], ecx
je 0x103a3dbf
mov edi, dword [esp + 0xa8]
mov byte [esp + edi + 0x3a8], al
mov eax, edi
mov edi, dword [esp + 0xc8]
inc eax
and eax, 0xfff
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x24]
inc eax
cmp eax, edi
mov dword [esp + 0x24], eax
jle 0x103a3d4c
cmp ecx, dword [esp + 0xc0]
jne 0x103a3ab0
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xcc]
mov ecx, 0x400
mov esi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x103a3ddb
mov edi, dword [esp + 0x364]
lea esi, [eax + 0x104c]
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x350]
lea esi, [eax + 0x204c]
mov eax, dword [esp + 0x368]
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x103d969c]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
imul eax, eax, 0x3c
mov ecx, dword [0x103d969c]
mov edx, dword [ecx + eax]
add ecx, eax
mov eax, dword [esp + 0x368]
push eax
call dword [edx + 0x18]
lea eax, [esp + 0x1b0]
mov byte [esp + 0x1b0], 0x66
mov byte [esp + 0x1b1], 0x50
mov byte [esp + 0x1b2], 0x51
mov byte [esp + 0x1b3], 0x68
mov byte [esp + 0x1b4], 0x6e
mov byte [esp + 0x1b5], 0x4d
mov byte [esp + 0x1b6], 0x6a
mov byte [esp + 0x1b7], 0x76
mov byte [esp + 0x1b8], 0x45
mov byte [esp + 0x1b9], 0x70
mov byte [esp + 0x1ba], 0x45
mov byte [esp + 0x1bb], 0x65
mov byte [esp + 0x1bc], 0x6d
mov byte [esp + 0x1bd], 0x51
mov byte [esp + 0x1be], 0x51
mov byte [esp + 0x1bf], 0x71
mov byte [esp + 0x1c0], 0x6e
mov byte [esp + 0x1c1], 0x43
mov byte [esp + 0x1c2], 0x62
mov byte [esp + 0x1c3], 0x42
mov byte [esp + 0x1c4], 0x65
mov byte [esp + 0x1c5], 0x45
mov byte [esp + 0x1c6], 0x4d
mov byte [esp + 0x1c7], 0x66
mov byte [esp + 0x1c8], 0x6b
mov byte [esp + 0x1c9], 0x78
mov byte [esp + 0x1ca], 0x76
mov byte [esp + 0x1cb], 0x6f
mov byte [esp + 0x1cc], 0x45
mov byte [esp + 0x1cd], 0x63
mov byte [esp + 0x1ce], 0x68
mov byte [esp + 0x1cf], 0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 8]
mov eax, dword [esp + 0xcc]
mov edx, dword [ebx]
push 0x1000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov byte [esp + 0x270], 0x75
mov byte [esp + 0x271], 0x73
mov byte [esp + 0x272], 0x43
mov byte [esp + 0x273], 0x78
mov byte [esp + 0x274], 0x4e
mov byte [esp + 0x275], 0x43
mov byte [esp + 0x276], 0x55
mov byte [esp + 0x277], 0x75
mov byte [esp + 0x278], 0x5a
mov byte [esp + 0x279], 0x4a
mov byte [esp + 0x27a], 0x4e
mov byte [esp + 0x27b], 0x6b
lea eax, [esp + 0x270]
mov byte [esp + 0x27c], 0x6c
mov byte [esp + 0x27d], 0x43
mov byte [esp + 0x27e], 0x6f
mov byte [esp + 0x27f], 0x72
mov byte [esp + 0x280], 0x76
mov byte [esp + 0x281], 0x4c
mov byte [esp + 0x282], 0x73
mov byte [esp + 0x283], 0x54
mov byte [esp + 0x284], 0x67
mov byte [esp + 0x285], 0x47
mov byte [esp + 0x286], 0x5a
mov byte [esp + 0x287], 0x65
mov byte [esp + 0x288], 0x6b
mov byte [esp + 0x289], 0x65
mov byte [esp + 0x28a], 0x63
mov byte [esp + 0x28b], 0x79
mov byte [esp + 0x28c], 0x4a
mov byte [esp + 0x28d], 0x41
mov byte [esp + 0x28e], 0x44
mov byte [esp + 0x28f], 0
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 8]
jmp 0x103a4067
mov eax, dword [esp + 0x364]
mov edx, dword [ebx]
push 0x1000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [esp + 0x350]
mov edx, dword [ebx]
push 0x1000
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0x36c]
mov edx, dword [ecx]
push esi
call dword [edx + 8]
imul eax, eax, 0x3c
mov ecx, dword [0x103d969c]
mov edx, dword [ecx + eax]
add ecx, eax
push esi
call dword [edx + 0x18]
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x2c]
add esi, 0x1002
mov dword [esp + 0xc0], 0x13
mov edi, 0x20
mov dword [esp + 0xc4], edi
mov eax, dword [esp + 0xc4]
add eax, 0x21
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0xc4]
shl edx, 8
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0xc4]
add eax, 7
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0xc4]
or edx, 0xa0
mov dword [esp + 0x24], edx
mov dword [esp + 0xc8], 0xffff
mov edx, ecx
mov dword [esp + 0x2c], 8
mov eax, dword [esp + 0x24]
shr edx, 0x10
imul edx, eax
jmp 0x103a4144
mov eax, dword [esp + 0xc8]
and eax, ecx
mov ecx, dword [esp + 0x24]
imul eax, ecx
mov ecx, dword [esp + 0xc8]
sar ecx, 1
and ecx, edx
shl ecx, 0x10
shr edx, 0xf
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test eax, edx
je 0x103a417f
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1c
not ecx
jmp 0x103a4181
xor ecx, ecx
sub eax, ecx
xor ecx, ecx
mov cl, byte [esi - 2]
xor ecx, eax
mov byte [esp + 0x36c], cl
mov dword [esp + 0xc4], edi
mov edx, dword [esp + 0xc4]
add edx, 0x21
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0xc4]
shl ecx, 8
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xc4]
add edx, 7
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0xc4]
or ecx, 0xa0
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], 0xffff
mov edx, eax
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
shr edx, 0x10
imul edx, ecx
jmp 0x103a4200
mov ecx, dword [esp + 0xc8]
and ecx, eax
mov eax, dword [esp + 0x24]
imul ecx, eax
mov eax, dword [esp + 0xc8]
sar eax, 1
and eax, edx
shl eax, 0x10
shr edx, 0xf
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test ecx, edx
je 0x103a423b
mov eax, dword [esp + 0x2c]
shl eax, 0x1c
not eax
jmp 0x103a423d
xor eax, eax
sub ecx, eax
xor eax, eax
mov al, byte [esi - 1]
xor eax, ecx
mov byte [esp + 0x36d], al
mov dword [esp + 0xc4], edi
mov edx, dword [esp + 0xc4]
add edx, 0x21
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0xc4]
shl eax, 8
mov dword [esp + 0xc4], eax
mov edx, dword [esp + 0xc4]
add edx, 7
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0xc4]
or eax, 0xa0
mov dword [esp + 0x24], eax
mov dword [esp + 0xc8], 0xffff
mov edx, ecx
mov dword [esp + 0x2c], 8
mov eax, dword [esp + 0x24]
shr edx, 0x10
imul edx, eax
jmp 0x103a42bb
mov eax, dword [esp + 0xc8]
and eax, ecx
mov ecx, dword [esp + 0x24]
imul eax, ecx
mov ecx, dword [esp + 0xc8]
sar ecx, 1
and ecx, edx
shl ecx, 0x10
shr edx, 0xf
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test eax, edx
je 0x103a42f6
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1c
not ecx
jmp 0x103a42f8
xor ecx, ecx
sub eax, ecx
xor ecx, ecx
mov cl, byte [esi]
xor ecx, eax
mov byte [esp + 0x36e], cl
mov dword [esp + 0xc4], edi
mov edx, dword [esp + 0xc4]
add edx, 0x21
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0xc4]
shl ecx, 8
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xc4]
add edx, 7
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0xc4]
or ecx, 0xa0
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], 0xffff
mov edx, eax
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
shr edx, 0x10
imul edx, ecx
jmp 0x103a4376
mov ecx, dword [esp + 0xc8]
and ecx, eax
mov eax, dword [esp + 0x24]
imul ecx, eax
mov eax, dword [esp + 0xc8]
sar eax, 1
and eax, edx
shl eax, 0x10
shr edx, 0xf
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test ecx, edx
je 0x103a43b1
mov eax, dword [esp + 0x2c]
shl eax, 0x1c
not eax
jmp 0x103a43b3
xor eax, eax
sub ecx, eax
xor eax, eax
mov al, byte [esi + 1]
xor eax, ecx
mov byte [esp + 0x36f], al
mov edx, dword [esp + 0x36c]
mov dword [esp + 0xa8], edx
jmp 0x103a43d7
mov eax, dword [esp + 0xa8]
mov edx, 0x20000000
test edx, eax
je 0x103a43fc
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x350]
and eax, 0xdfffffff
jmp 0x103a4425
test dword [esp + 0xa8], 0x10000000
mov eax, dword [esp + 0xa8]
je 0x103a441e
mov edi, dword [esp + 0x364]
and eax, 0xefffffff
jmp 0x103a4425
mov edi, dword [esp + 0xcc]
add eax, edi
mov edi, dword [eax]
mov dword [esp + 0xa8], edi
test dword [esp + 0xa8], edx
je 0x103a444f
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x350]
and edx, 0xdfffffff
jmp 0x103a4479
test dword [esp + 0xa8], 0x10000000
mov edx, dword [esp + 0xa8]
je 0x103a4472
mov edi, dword [esp + 0x364]
and edx, 0xefffffff
jmp 0x103a4479
mov edi, dword [esp + 0xcc]
add edx, edi
mov dword [eax], edx
mov eax, dword [esp + 0xc0]
add esi, 4
dec eax
mov dword [esp + 0xc0], eax
jne 0x103a40d0
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0xcc]
push ecx
push 1
lea eax, [esi + 0x1a7]
push 0
call eax
lea eax, [esi + 0x19d]
call eax
mov dword [esp + 0xc4], eax
jmp 0x103a44c5
jmp 0x103a44c8
jmp 0x103a44c2
mov esi, dword [esp + 0x358]
mov ecx, dword [esp + 0x20]
add esi, 0x3002
mov dword [esp + 0xc0], 0x52
mov dword [esp + 0x20], 0x20
mov edx, dword [esp + 0x20]
add edx, 0x21
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
shl eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
add edx, 7
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
or eax, 0xa0
mov edi, 0xffff
mov dword [esp + 0x24], eax
mov dword [esp + 0xc8], edi
mov edx, ecx
mov dword [esp + 0x2c], 8
mov eax, dword [esp + 0x24]
shr edx, 0x10
imul edx, eax
jmp 0x103a453f
mov eax, dword [esp + 0xc8]
and eax, ecx
mov ecx, dword [esp + 0x24]
imul eax, ecx
mov ecx, dword [esp + 0xc8]
sar ecx, 1
and ecx, edx
shl ecx, 0x10
shr edx, 0xf
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test eax, edx
je 0x103a457a
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1c
not ecx
jmp 0x103a457c
xor ecx, ecx
sub eax, ecx
xor ecx, ecx
mov cl, byte [esi - 2]
xor ecx, eax
mov byte [esp + 0x364], cl
mov dword [esp + 0x20], 0x20
mov edx, dword [esp + 0x20]
add edx, 0x21
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
shl ecx, 8
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
add edx, 7
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
or ecx, 0xa0
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], edi
mov edx, eax
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
shr edx, 0x10
imul edx, ecx
jmp 0x103a45e3
mov ecx, dword [esp + 0xc8]
and ecx, eax
mov eax, dword [esp + 0x24]
imul ecx, eax
mov eax, dword [esp + 0xc8]
sar eax, 1
and eax, edx
shl eax, 0x10
shr edx, 0xf
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test ecx, edx
je 0x103a461e
mov eax, dword [esp + 0x2c]
shl eax, 0x1c
not eax
jmp 0x103a4620
xor eax, eax
sub ecx, eax
xor eax, eax
mov al, byte [esi - 1]
xor eax, ecx
mov byte [esp + 0x365], al
mov dword [esp + 0x20], 0x20
mov edx, dword [esp + 0x20]
add edx, 0x21
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
shl eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
add edx, 7
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
or eax, 0xa0
mov dword [esp + 0x24], eax
mov dword [esp + 0xc8], edi
mov edx, ecx
mov dword [esp + 0x2c], 8
mov eax, dword [esp + 0x24]
shr edx, 0x10
imul edx, eax
jmp 0x103a4686
mov eax, dword [esp + 0xc8]
and eax, ecx
mov ecx, dword [esp + 0x24]
imul eax, ecx
mov ecx, dword [esp + 0xc8]
sar ecx, 1
and ecx, edx
shl ecx, 0x10
shr edx, 0xf
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test eax, edx
je 0x103a46c1
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1c
not ecx
jmp 0x103a46c3
xor ecx, ecx
sub eax, ecx
xor ecx, ecx
mov cl, byte [esi]
xor ecx, eax
mov byte [esp + 0x366], cl
mov dword [esp + 0x20], 0x20
mov edx, dword [esp + 0x20]
add edx, 0x21
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
shl ecx, 8
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
add edx, 7
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
or ecx, 0xa0
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc8], edi
mov edx, eax
mov dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x24]
shr edx, 0x10
imul edx, ecx
jmp 0x103a4729
mov ecx, dword [esp + 0xc8]
and ecx, eax
mov eax, dword [esp + 0x24]
imul ecx, eax
mov eax, dword [esp + 0xc8]
sar eax, 1
and eax, edx
shl eax, 0x10
shr edx, 0xf
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0x2c]
shl edx, 0x1c
test ecx, edx
je 0x103a4764
mov eax, dword [esp + 0x2c]
shl eax, 0x1c
not eax
jmp 0x103a4766
xor eax, eax
sub ecx, eax
xor eax, eax
mov al, byte [esi + 1]
xor eax, ecx
mov byte [esp + 0x367], al
mov edx, dword [esp + 0x364]
mov dword [esp + 0xa8], edx
jmp 0x103a478a
mov eax, dword [esp + 0xa8]
mov edx, 0x20000000
test edx, eax
je 0x103a47af
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x360]
and eax, 0xdfffffff
jmp 0x103a47d8
test dword [esp + 0xa8], 0x10000000
mov eax, dword [esp + 0xa8]
je 0x103a47d1
mov edi, dword [esp + 0x35c]
and eax, 0xefffffff
jmp 0x103a47d8
mov edi, dword [esp + 0x354]
add eax, edi
mov edi, dword [eax]
mov dword [esp + 0xa8], edi
test dword [esp + 0xa8], edx
je 0x103a4802
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x360]
and edx, 0xdfffffff
jmp 0x103a482c
test dword [esp + 0xa8], 0x10000000
mov edx, dword [esp + 0xa8]
je 0x103a4825
mov edi, dword [esp + 0x35c]
and edx, 0xefffffff
jmp 0x103a482c
mov edi, dword [esp + 0x354]
add edx, edi
mov dword [eax], edx
mov eax, dword [esp + 0xc0]
add esi, 4
dec eax
mov dword [esp + 0xc0], eax
jne 0x103a44e4
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0xa0]
mov eax, dword [ecx]
push esi
call dword [eax + 8]
imul eax, eax, 0x3c
mov ecx, dword [0x103d969c]
mov edx, dword [ecx + eax]
add ecx, eax
push esi
call dword [edx + 0x18]
mov ecx, dword [0x103d969c]
mov esi, dword [esp + 0x354]
push ecx
push 1
lea eax, [esi + 0x2204]
push 0
add esi, 0x21b4
call eax
jmp 0x103a4894
jmp 0x103a4897
jmp 0x103a4891
mov ecx, dword [0x103d969c]
mov edi, dword [esp + 0x358]
mov edx, dword [ecx]
push edi
call dword [edx + 8]
imul eax, eax, 0x3c
mov ecx, dword [0x103d969c]
mov edx, dword [ecx + eax]
add ecx, eax
push edi
call dword [edx + 0x18]
call esi
mov edx, dword [0x103d9940]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [edx]
mov esi, eax
mov eax, dword [ecx]
push edi
push edx
mov dword [esp + 0xd0], esi
call dword [eax]
xor eax, 0x29d5f0d0
mov dword [esi + 0x10], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 4]
jmp 0x103a48f7
jmp 0x103a48fa
jmp 0x103a48f4
mov dword [0x103b1118], esi
mov edi, 0x103b0010
mov dword [esp + 0x24], 4
lea ecx, [ecx]
mov edx, dword [esi]
push edi
mov ecx, esi
call dword [edx + 8]
mov eax, dword [esp + 0x24]
add edi, 0xd
dec eax
mov dword [esp + 0x24], eax
jne 0x103a4910
mov edi, 0x103b0010
mov dword [esp + 0x24], 4
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0xc]
mov eax, dword [esp + 0x24]
add edi, 0xd
dec eax
mov dword [esp + 0x24], eax
jne 0x103a4933
mov ecx, dword [0x103b1140]
mov dword [esi + 0x1c], ecx
mov ecx, dword [0x103d969c]
mov edx, dword [ecx]
push 0
call dword [edx + 0x10]
mov ecx, dword [0x103d969c]
and eax, 7
imul eax, eax, 0x3c
mov edx, dword [ecx + eax]
add ecx, eax
push 0x54a4
push 1
call dword [edx + 0x20]
mov edi, eax
test edi, edi
mov dword [esp + 0x350], edi
je 0x103a4952
jmp 0x103a4990