Function at 0x100031f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov dword [esi + 0x18], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x24], eax
movsd xmm0, qword [ebp + 0x18]
movsd qword [esi + 0x28], xmm0
movsd xmm0, qword [ebp + 0x10]
movsd qword [esi + 0x30], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [0x10098080]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov dword [esi + 0x44], 0x1636dd2b
mov eax, dword [esi + 0x44]
mov dword [esi + 0x14], eax
sub eax, 0x801d1ab7
je 0x10003e5f
jmp 0x10003257
mov eax, dword [esi + 0x14]
sub eax, 0x8218700b
je 0x10004063
jmp 0x1000326a
mov eax, dword [esi + 0x14]
sub eax, 0x82806904
je 0x10004252
jmp 0x1000327d
mov eax, dword [esi + 0x14]
sub eax, 0x832d02b5
je 0x1000422b
jmp 0x10003290
mov eax, dword [esi + 0x14]
sub eax, 0x83b69fa3
je 0x10003d1c
jmp 0x100032a3
mov eax, dword [esi + 0x14]
sub eax, 0x85633832
je 0x10003c25
jmp 0x100032b6
mov eax, dword [esi + 0x14]
sub eax, 0x8789f64d
je 0x1000385a
jmp 0x100032c9
mov eax, dword [esi + 0x14]
sub eax, 0x91d740d9
je 0x10003f30
jmp 0x100032dc
mov eax, dword [esi + 0x14]
sub eax, 0x9291d3ca
je 0x10003926
jmp 0x100032ef
mov eax, dword [esi + 0x14]
sub eax, 0x979a778a
je 0x10003d10
jmp 0x10003302
mov eax, dword [esi + 0x14]
sub eax, 0x9b38e28a
je 0x100039a0
jmp 0x10003315
mov eax, dword [esi + 0x14]
sub eax, 0xac65c8d2
je 0x10003a13
jmp 0x10003328
mov eax, dword [esi + 0x14]
sub eax, 0xba49b790
je 0x10003f85
jmp 0x1000333b
mov eax, dword [esi + 0x14]
sub eax, 0xba5499b3
je 0x10003aea
jmp 0x1000334e
mov eax, dword [esi + 0x14]
sub eax, 0xbc143185
je 0x1000429c
jmp 0x10003361
mov eax, dword [esi + 0x14]
sub eax, 0xbd2d2e72
je 0x1000419e
jmp 0x10003374
mov eax, dword [esi + 0x14]
sub eax, 0xc025a117
je 0x100040bf
jmp 0x10003387
mov eax, dword [esi + 0x14]
sub eax, 0xc2e8f93d
je 0x10003af6
jmp 0x1000339a
mov eax, dword [esi + 0x14]
sub eax, 0xc4d9e612
je 0x10003ea5
jmp 0x100033ad
mov eax, dword [esi + 0x14]
sub eax, 0xcad54def
je 0x10003ceb
jmp 0x100033c0
mov eax, dword [esi + 0x14]
sub eax, 0xcdb07ab2
je 0x10003e3b
jmp 0x100033d3
mov eax, dword [esi + 0x14]
sub eax, 0xcf9487e3
je 0x10003932
jmp 0x100033e6
mov eax, dword [esi + 0x14]
sub eax, 0xd03d5d2c
je 0x10003952
jmp 0x100033f9
mov eax, dword [esi + 0x14]
sub eax, 0xd3840a20
je 0x10003cdf
jmp 0x1000340c
mov eax, dword [esi + 0x14]
sub eax, 0xd857ec72
je 0x10003f4e
jmp 0x1000341f
mov eax, dword [esi + 0x14]
sub eax, 0xda6b5d0a
je 0x10003b34
jmp 0x10003432
mov eax, dword [esi + 0x14]
sub eax, 0xdc4776a8
je 0x10003ff0
jmp 0x10003445
mov eax, dword [esi + 0x14]
sub eax, 0xeac25c64
je 0x10003dcc
jmp 0x10003458
mov eax, dword [esi + 0x14]
sub eax, 0xec1cab41
je 0x10003b0d
jmp 0x1000346b
mov eax, dword [esi + 0x14]
sub eax, 0xf3fe2aae
je 0x10003dd8
jmp 0x1000347e
mov eax, dword [esi + 0x14]
sub eax, 0xf523c52d
je 0x10003b6c
jmp 0x10003491
mov eax, dword [esi + 0x14]
sub eax, 0xffc97df5
je 0x10003d6a
jmp 0x100034a4
mov eax, dword [esi + 0x14]
sub eax, 0x7584832
je 0x100041e1
jmp 0x100034b7
mov eax, dword [esi + 0x14]
sub eax, 0xfada0a5
je 0x10003e53
jmp 0x100034ca
mov eax, dword [esi + 0x14]
sub eax, 0xfde5aed
je 0x100041d5
jmp 0x100034dd
mov eax, dword [esi + 0x14]
sub eax, 0x10fd4b78
je 0x1000407b
jmp 0x100034f0
mov eax, dword [esi + 0x14]
sub eax, 0x12a1e430
je 0x10003b89
jmp 0x10003503
mov eax, dword [esi + 0x14]
sub eax, 0x14735a54
je 0x100042a8
jmp 0x10003516
mov eax, dword [esi + 0x14]
sub eax, 0x1497eba4
je 0x10003b60
jmp 0x10003529
mov eax, dword [esi + 0x14]
sub eax, 0x14e65a74
je 0x10004209
jmp 0x1000353c
mov eax, dword [esi + 0x14]
sub eax, 0x1562dba6
je 0x1000428a
jmp 0x1000354f
mov eax, dword [esi + 0x14]
sub eax, 0x1636dd2b
je 0x100036e3
jmp 0x10003562
mov eax, dword [esi + 0x14]
sub eax, 0x163b94fa
je 0x1000373b
jmp 0x10003575
mov eax, dword [esi + 0x14]
sub eax, 0x164a768f
je 0x10003f5a
jmp 0x10003588
mov eax, dword [esi + 0x14]
sub eax, 0x1778e758
je 0x10004093
jmp 0x1000359b
mov eax, dword [esi + 0x14]
sub eax, 0x1cc0a65c
je 0x10003c43
jmp 0x100035ae
mov eax, dword [esi + 0x14]
sub eax, 0x225d343c
je 0x1000425e
jmp 0x100035c1
mov eax, dword [esi + 0x14]
sub eax, 0x2c21ee53
je 0x10004180
jmp 0x100035d4
mov eax, dword [esi + 0x14]
sub eax, 0x345b09fd
je 0x1000423a
jmp 0x100035e7
mov eax, dword [esi + 0x14]
sub eax, 0x38a177a1
je 0x10003bd7
jmp 0x100035fa
mov eax, dword [esi + 0x14]
sub eax, 0x415707af
je 0x10004132
jmp 0x1000360d
mov eax, dword [esi + 0x14]
sub eax, 0x454a21e9
je 0x100041aa
jmp 0x10003620
mov eax, dword [esi + 0x14]
sub eax, 0x47c5f4c1
je 0x10003f24
jmp 0x10003633
mov eax, dword [esi + 0x14]
sub eax, 0x488f5f84
je 0x10003b4b
jmp 0x10003646
mov eax, dword [esi + 0x14]
sub eax, 0x4e4df6f4
je 0x1000406f
jmp 0x10003659
mov eax, dword [esi + 0x14]
sub eax, 0x5688a9cb
je 0x1000409f
jmp 0x1000366c
mov eax, dword [esi + 0x14]
sub eax, 0x56c38c1f
je 0x10004246
jmp 0x1000367f
mov eax, dword [esi + 0x14]
sub eax, 0x64043249
je 0x10003a9c
jmp 0x10003692
mov eax, dword [esi + 0x14]
sub eax, 0x65a594b5
je 0x10003a31
jmp 0x100036a5
mov eax, dword [esi + 0x14]
sub eax, 0x67e4e9f7
je 0x10003c91
jmp 0x100036b8
mov eax, dword [esi + 0x14]
sub eax, 0x6f9b7d8e
je 0x100038a8
jmp 0x100036cb
mov eax, dword [esi + 0x14]
sub eax, 0x7f8e8d46
je 0x1000426a
jmp 0x100036de
jmp 0x100042af
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x50], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x58], eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x60], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x44], 0x163b94fa
jmp 0x100042af
mov edx, dword [esi + 0x3c]
movsd xmm0, qword [esi + 0x30]
movsd xmm1, qword [esi + 0x28]
mov ecx, dword [esi + 0x24]
push eax
mov ebx, esp
push eax
mov edi, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 8], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov esp, eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x70], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
push eax
mov eax, esp
mov dword [esi + 0x78], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x80], eax
push eax
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x50]
movsd qword [eax], xmm1
mov eax, dword [esi + 0x54]
movsd qword [eax], xmm0
mov eax, dword [esi + 0x58]
mov dword [eax], edx
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
lea eax, str.fqldqvqquumvoirjttzcwhinumhxebzramsk
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov byte [eax], 0
mov eax, dword [esi + 0x68]
mov dword [eax], 0xcb2
mov eax, dword [esi + 0x6c]
movsd xmm0, qword [0x1003b208]
movsd qword [eax], xmm0
mov eax, dword [esi + 0x10]
mov byte [ebx], 1
mov dword [edi], 0x6d6
movsd xmm0, qword [0x1003b200]
movsd qword [edx], xmm0
movsd xmm0, qword [0x1003b1f8]
movsd qword [ecx], xmm0
mov byte [eax], 1
mov ecx, dword [esi + 0x70]
lea eax, str.brmudmszhdrtsetxswvmdvxlstkcxnagvvvuto
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov eax, dword [esi + 0x74]
mov dword [eax], 0x35
mov dword [esi + 0x44], 0x8789f64d
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x306e3807
sub edx, 1
add edx, 0x306e3807
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x832d02b5
mov ecx, 0x6f9b7d8e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0x8c], eax
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
mov edx, ecx
add edx, 0x172d261c
sub edx, 1
sub edx, 0x172d261c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x832d02b5
mov ecx, 0x9291d3ca
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0xcf9487e3
jmp 0x100042af
mov eax, dword [esi + 0x8c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x93], al
mov dword [esi + 0x44], 0xd03d5d2c
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x629356a5
sub edx, 1
add edx, 0x629356a5
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x345b09fd
mov ecx, 0x9b38e28a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
mov edx, ecx
sub edx, 0x968770d6
sub edx, 1
add edx, 0x968770d6
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x345b09fd
mov ecx, 0xac65c8d2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dl, byte [esi + 0x93]
mov eax, 0x488f5f84
mov ecx, 0x65a594b5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x56c38c1f
mov ecx, 0x64043249
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
add edx, 0x219196bc
sub edx, 1
sub edx, 0x219196bc
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x56c38c1f
mov ecx, 0xba5499b3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0xc2e8f93d
jmp 0x100042af
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x44], 0xec1cab41
jmp 0x100042af
mov eax, dword [esi + 0x94]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x98], eax
mov dword [esi + 0x44], 0xda6b5d0a
jmp 0x100042af
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x98]
mov dword [eax], ecx
mov dword [esi + 0x44], 0x8789f64d
jmp 0x100042af
mov eax, dword [esi + 0x78]
mov dword [eax], 0x43
mov dword [esi + 0x44], 0x1497eba4
jmp 0x100042af
mov dword [esi + 0x44], 0xf523c52d
jmp 0x100042af
mov eax, dword [esi + 0x78]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x9d], al
mov dword [esi + 0x44], 0x12a1e430
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x56bedd8e
sub edx, 1
add edx, 0x56bedd8e
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x82806904
mov ecx, 0x38a177a1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
add edx, 0x38d3aece
sub edx, 1
sub edx, 0x38d3aece
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x82806904
mov ecx, 0x85633832
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dl, byte [esi + 0x9d]
mov eax, 0x83b69fa3
mov ecx, 0x1cc0a65c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x7333c80f
sub edx, 1
add edx, 0x7333c80f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x225d343c
mov ecx, 0x67e4e9f7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
add edx, 0x226ef04a
sub edx, 1
sub edx, 0x226ef04a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x225d343c
mov ecx, 0xd3840a20
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0xcad54def
jmp 0x100042af
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
sub ecx, 0xec683721
add ecx, 0xffffffff
add ecx, 0xec683721
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x44], 0x979a778a
jmp 0x100042af
mov dword [esi + 0x44], 0xf523c52d
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x77cb55e5
sub edx, 1
add edx, 0x77cb55e5
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7f8e8d46
mov ecx, 0xffc97df5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov ecx, dword [esi + 0x7c]
lea eax, str.brmudmszhdrtsetxswvmdvxlstkcxnagvvvuto
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
sub edx, 0x984d8c8c
sub edx, 1
add edx, 0x984d8c8c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7f8e8d46
mov ecx, 0xeac25c64
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0xf3fe2aae
jmp 0x100042af
mov ecx, dword [esi + 0x80]
lea eax, str.brmudmszhdrtsetxswvmdvxlstkcxnagvvvuto
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x80]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1001ad10
add esp, 8
mov byte [esi + 7], al
mov ecx, dword [esi + 0x80]
call fcn.1001adc0
mov ecx, dword [esi + 0x7c]
call fcn.1001adc0
mov dl, byte [esi + 7]
mov eax, 0x10fd4b78
mov ecx, 0xcdb07ab2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [esi + 0x84]
mov dword [eax], 0x63
mov dword [esi + 0x44], 0xfada0a5
jmp 0x100042af
mov dword [esi + 0x44], 0x801d1ab7
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x1562dba6
mov ecx, 0xc4d9e612
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [esi + 0x84]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x9e], al
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x1562dba6
mov ecx, 0x47c5f4c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0x91d740d9
jmp 0x100042af
mov dl, byte [esi + 0x9e]
mov eax, 0x4e4df6f4
mov ecx, 0xd857ec72
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0x164a768f
jmp 0x100042af
mov eax, dword [esi + 0x84]
mov ecx, dword [eax]
add ecx, 0x5c402810
add ecx, 0xffffffff
sub ecx, 0x5c402810
mov eax, dword [esi + 0x84]
mov dword [eax], ecx
mov dword [esi + 0x44], 0xba49b790
jmp 0x100042af
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xbc143185
mov ecx, 0xdc4776a8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
mov edx, ecx
add edx, 0x18cb1f35
sub edx, 1
sub edx, 0x18cb1f35
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xbc143185
mov ecx, 0x8218700b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0x801d1ab7
jmp 0x100042af
mov dword [esi + 0x44], 0x10fd4b78
jmp 0x100042af
mov eax, dword [esi + 0x88]
mov dword [eax], 8
mov dword [esi + 0x44], 0x1778e758
jmp 0x100042af
mov dword [esi + 0x44], 0x5688a9cb
jmp 0x100042af
mov eax, dword [esi + 0x88]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x9f], al
mov dword [esi + 0x44], 0xc025a117
jmp 0x100042af
mov ecx, dword [0x100997c4]
mov eax, dword [0x100997c0]
mov edx, ecx
add edx, 0x84cfb190
sub edx, 1
sub edx, 0x84cfb190
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x14735a54
mov ecx, 0x415707af
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov eax, dword [0x100997c4]
mov ecx, dword [0x100997c0]
mov edx, eax
add edx, 0xb12e359a
sub edx, 1
sub edx, 0xb12e359a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x14735a54
mov ecx, 0x2c21ee53
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dl, byte [esi + 0x9f]
mov eax, 0x7584832
mov ecx, 0xbd2d2e72
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x100042af
mov dword [esi + 0x44], 0x454a21e9
jmp 0x100042af
mov eax, dword [esi + 0x88]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [eax], ecx
mov dword [esi + 0x44], 0xfde5aed
jmp 0x100042af
mov dword [esi + 0x44], 0x5688a9cb
jmp 0x100042af
mov ecx, dword [esi + 0x1c]
lea eax, str.apeqjnomgbotnrv
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov ecx, dword [esi + 0x70]
call fcn.1001adc0
mov dword [esi + 0x44], 0x14e65a74
jmp 0x100042af
mov ecx, dword [esi + 0x60]
call fcn.1001adc0
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.1002ca30
mov eax, dword [esi + 0x20]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov eax, dword [esi + 0x74]
mov dword [esi + 0x44], 0x6f9b7d8e
jmp 0x100042af
mov dword [esi + 0x44], 0x9b38e28a
jmp 0x100042af
mov dword [esi + 0x44], 0x64043249
jmp 0x100042af
mov dword [esi + 0x44], 0x38a177a1
jmp 0x100042af
mov dword [esi + 0x44], 0x67e4e9f7
jmp 0x100042af
mov ecx, dword [esi + 0x7c]
lea eax, str.brmudmszhdrtsetxswvmdvxlstkcxnagvvvuto
sub esp, 4
mov dword [esp], eax
call fcn.1001ac50
mov dword [esi + 0x44], 0xffc97df5
jmp 0x100042af
mov eax, dword [esi + 0x84]
mov dword [esi + 0x44], 0xc4d9e612
jmp 0x100042af
mov dword [esi + 0x44], 0xdc4776a8
jmp 0x100042af
mov dword [esi + 0x44], 0x415707af
jmp 0x10003241