Function at 0x401020
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 + 8], ecx
lea eax, [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [0x443080]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov dword [esi + 0x10], 0xa2d36f9f
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
sub eax, 0x8523145e
je 0x40205f
jmp 0x401064
mov eax, dword [esi + 4]
sub eax, 0x85d165f9
je 0x401d30
jmp 0x401077
mov eax, dword [esi + 4]
sub eax, 0x8671b871
je 0x402053
jmp 0x40108a
mov eax, dword [esi + 4]
sub eax, 0x86a76f05
je 0x4019f5
jmp 0x40109d
mov eax, dword [esi + 4]
sub eax, 0x8e27dd74
je 0x401976
jmp 0x4010b0
mov eax, dword [esi + 4]
sub eax, 0x8eea4f57
je 0x402472
jmp 0x4010c3
mov eax, dword [esi + 4]
sub eax, 0x9429de1e
je 0x401f29
jmp 0x4010d6
mov eax, dword [esi + 4]
sub eax, 0x98252371
je 0x402428
jmp 0x4010e9
mov eax, dword [esi + 4]
sub eax, 0x9c79a78e
je 0x401928
jmp 0x4010fc
mov eax, dword [esi + 4]
sub eax, 0xa0bbff37
je 0x40225b
jmp 0x40110f
mov eax, dword [esi + 4]
sub eax, 0xa2d36f9f
je 0x40166c
jmp 0x401122
mov eax, dword [esi + 4]
sub eax, 0xa7cdd8da
je 0x401d4a
jmp 0x401135
mov eax, dword [esi + 4]
sub eax, 0xaf8dbb31
je 0x40244b
jmp 0x401148
mov eax, dword [esi + 4]
sub eax, 0xb18b0516
je 0x4021eb
jmp 0x40115b
mov eax, dword [esi + 4]
sub eax, 0xb63602d5
je 0x40213a
jmp 0x40116e
mov eax, dword [esi + 4]
sub eax, 0xb6e43e3d
je 0x40235b
jmp 0x401181
mov eax, dword [esi + 4]
sub eax, 0xc2e69481
je 0x40191c
jmp 0x401194
mov eax, dword [esi + 4]
sub eax, 0xcecc24b5
je 0x402555
jmp 0x4011a7
mov eax, dword [esi + 4]
sub eax, 0xcf99b00c
je 0x401ed3
jmp 0x4011ba
mov eax, dword [esi + 4]
sub eax, 0xd0ea742a
je 0x402516
jmp 0x4011cd
mov eax, dword [esi + 4]
sub eax, 0xd1d748c2
je 0x401d18
jmp 0x4011e0
mov eax, dword [esi + 4]
sub eax, 0xd49f57af
je 0x401a18
jmp 0x4011f3
mov eax, dword [esi + 4]
sub eax, 0xd867fc52
je 0x40243f
jmp 0x401206
mov eax, dword [esi + 4]
sub eax, 0xde8c091b
je 0x4016f5
jmp 0x401219
mov eax, dword [esi + 4]
sub eax, 0xe18ddc2a
je 0x401c9c
jmp 0x40122c
mov eax, dword [esi + 4]
sub eax, 0xe19067c1
je 0x402012
jmp 0x40123f
mov eax, dword [esi + 4]
sub eax, 0xe3023234
je 0x401d8c
jmp 0x401252
mov eax, dword [esi + 4]
sub eax, 0xe3634987
je 0x401acd
jmp 0x401265
mov eax, dword [esi + 4]
sub eax, 0xe53b5bfc
je 0x4021f7
jmp 0x401278
mov eax, dword [esi + 4]
sub eax, 0xe73972ab
je 0x401d71
jmp 0x40128b
mov eax, dword [esi + 4]
sub eax, 0xec1410b9
je 0x401a91
jmp 0x40129e
mov eax, dword [esi + 4]
sub eax, 0xed0f8a09
je 0x401c02
jmp 0x4012b1
mov eax, dword [esi + 4]
sub eax, 0xed75d215
je 0x401fa7
jmp 0x4012c4
mov eax, dword [esi + 4]
sub eax, 0xee1ad0d1
je 0x401ac1
jmp 0x4012d7
mov eax, dword [esi + 4]
sub eax, 0xf4fdb34f
je 0x40219d
jmp 0x4012ea
mov eax, dword [esi + 4]
sub eax, 0xf8fb34b0
je 0x40212e
jmp 0x4012fd
mov eax, dword [esi + 4]
sub eax, 0xfc1feee6
je 0x401e8d
jmp 0x401310
mov eax, dword [esi + 4]
sub eax, 0x221794
je 0x40223e
jmp 0x401323
mov eax, dword [esi + 4]
sub eax, 0xe53541
je 0x401f59
jmp 0x401336
mov eax, dword [esi + 4]
sub eax, 0x151a47d
je 0x401b6f
jmp 0x401349
mov eax, dword [esi + 4]
sub eax, 0x152a626
je 0x4022da
jmp 0x40135c
mov eax, dword [esi + 4]
sub eax, 0x199c063
je 0x4017ac
jmp 0x40136f
mov eax, dword [esi + 4]
sub eax, 0x335e00d
je 0x401be2
jmp 0x401382
mov eax, dword [esi + 4]
sub eax, 0x56560a9
je 0x401c29
jmp 0x401395
mov eax, dword [esi + 4]
sub eax, 0x5f84a10
je 0x401880
jmp 0x4013a8
mov eax, dword [esi + 4]
sub eax, 0x701bec7
je 0x4023b5
jmp 0x4013bb
mov eax, dword [esi + 4]
sub eax, 0xa3d24a6
je 0x401aac
jmp 0x4013ce
mov eax, dword [esi + 4]
sub eax, 0xd435a44
je 0x401d65
jmp 0x4013e1
mov eax, dword [esi + 4]
sub eax, 0xe130d0b
je 0x401dee
jmp 0x4013f4
mov eax, dword [esi + 4]
sub eax, 0x11c51829
je 0x40214f
jmp 0x401407
mov eax, dword [esi + 4]
sub eax, 0x174520ad
je 0x40177e
jmp 0x40141a
mov eax, dword [esi + 4]
sub eax, 0x1abfa372
je 0x401a58
jmp 0x40142d
mov eax, dword [esi + 4]
sub eax, 0x1c862414
je 0x4018ce
jmp 0x401440
mov eax, dword [esi + 4]
sub eax, 0x1c9694c1
je 0x40250a
jmp 0x401453
mov eax, dword [esi + 4]
sub eax, 0x1ca9d2ab
je 0x4017fa
jmp 0x401466
mov eax, dword [esi + 4]
sub eax, 0x2017a3ad
je 0x4024db
jmp 0x401479
mov eax, dword [esi + 4]
sub eax, 0x2302dd43
je 0x401865
jmp 0x40148c
mov eax, dword [esi + 4]
sub eax, 0x237a0b03
je 0x401f44
jmp 0x40149f
mov eax, dword [esi + 4]
sub eax, 0x29a9a03d
je 0x401afc
jmp 0x4014b2
mov eax, dword [esi + 4]
sub eax, 0x2bad54f2
je 0x401792
jmp 0x4014c5
mov eax, dword [esi + 4]
sub eax, 0x2d8a4771
je 0x401e81
jmp 0x4014d8
mov eax, dword [esi + 4]
sub eax, 0x382655c8
je 0x402117
jmp 0x4014eb
mov eax, dword [esi + 4]
sub eax, 0x3c2eb488
je 0x402232
jmp 0x4014fe
mov eax, dword [esi + 4]
sub eax, 0x40843c61
je 0x40210b
jmp 0x401511
mov eax, dword [esi + 4]
sub eax, 0x489d0c99
je 0x401da0
mov eax, dword [esi + 0xc]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esi + 0x18], ecx
push eax
mov ecx, esp
mov dword [esi + 0x1c], ecx
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x20], ecx
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esi + 0x24], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x2c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x30], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x34], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x38], ecx
push eax
mov ecx, esp
mov dword [esi + 0x3c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x40], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x44], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x48], ecx
push eax
mov ecx, esp
mov dword [esi + 0x4c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
add eax, 0x20
mov dword [esi + 0x58], eax
mov dword [esi + 0x10], 0xde8c091b
jmp 0x40255c
mov eax, dword [esi + 8]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x88]
lea eax, [0x43b2e0]
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x18]
lea eax, str.sbovfbocjolnrducwvobeglvymzhlgfuqswrdmmdpzy
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [esi + 0x1c]
mov byte [eax], 0
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [0x43b1a0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x24]
lea eax, str.qiuxizenixsxyjupwexxhpxhvhqdskmfliypkvfjwnvyzdupaogbzt
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x28]
lea eax, str.lwqpbirbooqfbupfldsqhroejvpsnoopfcfgeexnboeylvmpklughdmzkhdknnxmhhtzybcdd
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [esi + 0x2c]
mov byte [eax], 1
mov eax, dword [esi + 0x30]
mov dword [eax], 0x4f
mov dword [esi + 0x10], 0x174520ad
jmp 0x40255c
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x10], 0x2bad54f2
jmp 0x40255c
mov eax, dword [esi + 0x5c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x63], al
mov dword [esi + 0x10], 0x199c063
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0xf7d416a3
sub edx, 1
sub edx, 0xf7d416a3
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, 0xd867fc52
mov ecx, 0x1ca9d2ab
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
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, 0xd867fc52
mov ecx, 0x2302dd43
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dl, byte [esi + 0x63]
mov eax, 0x512f62ab
mov ecx, 0x5f84a10
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0x5f816485
sub edx, 1
sub edx, 0x5f816485
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, 0xaf8dbb31
mov ecx, 0x1c862414
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0xed0fa00a
sub edx, 1
sub edx, 0xed0fa00a
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, 0xaf8dbb31
mov ecx, 0xc2e69481
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x9c79a78e
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
sub edx, 0x5ae10d56
sub edx, 1
add edx, 0x5ae10d56
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, 0x4fc877f5
mov ecx, 0x8e27dd74
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
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, 0x4fc877f5
mov ecx, 0x794a6ae8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [esi + 0x64]
sub ecx, 0x163fb668
add ecx, 0xffffffff
add ecx, 0x163fb668
mov eax, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x10], 0xd49f57af
jmp 0x40255c
mov dword [esi + 0x10], 0x174520ad
jmp 0x40255c
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00421980
add esp, 8
and al, 1
mov byte [esi + 0x6b], al
mov ecx, dword [esi + 0x38]
call fcn.00421a10
mov ecx, dword [esi + 0x34]
call fcn.00421a10
mov dword [esi + 0x10], 0xec1410b9
jmp 0x40255c
mov dl, byte [esi + 0x6b]
mov eax, 0x56560a9
mov ecx, 0xa3d24a6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x40
mov dword [esi + 0x10], 0xee1ad0d1
jmp 0x40255c
mov dword [esi + 0x10], 0xe3634987
jmp 0x40255c
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x10], 0x6e89ec5c
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
mov edx, ecx
add edx, 0xe5361ac7
sub edx, 1
sub edx, 0xe5361ac7
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, 0x5d9cee21
mov ecx, 0x151a47d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
mov edx, ecx
add edx, 0x42a0dcd6
sub edx, 1
sub edx, 0x42a0dcd6
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, 0x5d9cee21
mov ecx, 0x335e00d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x51da9ae1
jmp 0x40255c
mov ecx, dword [esi + 0x70]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
mov dword [esi + 0x10], 0xe3634987
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
mov edx, ecx
sub edx, 0xf2c437b8
sub edx, 1
add edx, 0xf2c437b8
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, 0x8eea4f57
mov ecx, 0xe18ddc2a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [esi + 0x40]
mov dword [eax], 0x52
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
mov edx, ecx
add edx, 0xaa4f6c71
sub edx, 1
sub edx, 0xaa4f6c71
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, 0x8eea4f57
mov ecx, 0xd1d748c2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x4d5696cc
jmp 0x40255c
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x77], al
mov dword [esi + 0x10], 0xa7cdd8da
jmp 0x40255c
mov dl, byte [esi + 0x77]
mov eax, 0x489d0c99
mov ecx, 0xd435a44
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0xe73972ab
jmp 0x40255c
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x10], 0xe3023234
jmp 0x40255c
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x10], 0x85d165f9
jmp 0x40255c
mov ecx, dword [esi + 0x44]
lea eax, str.qiuxizenixsxyjupwexxhpxhvhqdskmfliypkvfjwnvyzdupaogbzt
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x48]
lea eax, str.qiuxizenixsxyjupwexxhpxhvhqdskmfliypkvfjwnvyzdupaogbzt
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00421a80
add esp, 8
and al, 1
mov byte [esi + 0x7e], al
mov ecx, dword [esi + 0x48]
call fcn.00421a10
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
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, 0x4ede1084
mov ecx, 0x2d8a4771
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0xfc1feee6
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
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, 0x2017a3ad
mov ecx, 0xcf99b00c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [esi + 0x44]
call fcn.00421a10
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
sub edx, 0x5a3e354e
sub edx, 1
add edx, 0x5a3e354e
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, 0x2017a3ad
mov ecx, 0x9429de1e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dl, byte [esi + 0x7e]
mov eax, 0xb63602d5
mov ecx, 0x237a0b03
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x46
mov dword [esi + 0x10], 0xe53541
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0x573fc8d7
sub edx, 1
sub edx, 0x573fc8d7
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, 0x4d17e073
mov ecx, 0xed75d215
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
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, 0x4d17e073
mov ecx, 0xe19067c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x5777557a
jmp 0x40255c
mov dword [esi + 0x10], 0x8523145e
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
sub edx, 0xef1ae554
sub edx, 1
add edx, 0xef1ae554
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, 0x5cff75ff
mov ecx, 0x7b8f2988
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x382655c8
jmp 0x40255c
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x10], 0x5777557a
jmp 0x40255c
mov dword [esi + 0x10], 0xb63602d5
jmp 0x40255c
mov eax, dword [esi + 0x50]
mov dword [eax], 8
mov dword [esi + 0x10], 0x11c51829
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0x3169e3b9
sub edx, 1
sub edx, 0x3169e3b9
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, 0x1c9694c1
mov ecx, 0xf4fdb34f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
sub edx, 0xf734e8f2
sub edx, 1
add edx, 0xf734e8f2
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, 0x1c9694c1
mov ecx, 0xb18b0516
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0xe53b5bfc
jmp 0x40255c
mov eax, dword [esi + 0x50]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x87], al
mov dword [esi + 0x10], 0x4ae72bdb
jmp 0x40255c
mov dword [esi + 0x10], 0x221794
jmp 0x40255c
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov dword [esi + 0x10], 0xa0bbff37
jmp 0x40255c
mov dword [esi + 0x10], 0xe53b5bfc
jmp 0x40255c
mov ecx, dword [esi + 0x28]
call fcn.00421a10
mov ecx, dword [esi + 0x24]
call fcn.00421a10
mov ecx, dword [esi + 0x18]
call fcn.00421a10
lea ecx, [esi + 0x88]
call fcn.00421a10
mov ecx, dword [esi + 0x54]
call fcn.00421a10
mov ecx, dword [esi + 0x58]
call fcn.00421a10
mov eax, dword [0x444674]
mov ecx, dword [0x444670]
mov edx, eax
add edx, 0x1d722728
sub edx, 1
sub edx, 0x1d722728
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, 0xd0ea742a
mov ecx, 0xb6e43e3d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov dword [esi + 0x10], 0x7f41fd9c
jmp 0x40255c
mov ecx, dword [0x444674]
mov eax, dword [0x444670]
mov edx, ecx
sub edx, 0x3561c42f
sub edx, 1
add edx, 0x3561c42f
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, 0xcecc24b5
mov ecx, 0x98252371
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40255c
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.0042bf40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x48
mov dword [esi + 0x10], 0x1ca9d2ab
jmp 0x40255c
mov dword [esi + 0x10], 0x1c862414
jmp 0x40255c
mov eax, dword [esi + 0x40]
mov dword [eax], 0x52
mov dword [esi + 0x10], 0xe18ddc2a
jmp 0x40255c
mov ecx, dword [esi + 0x44]
call fcn.00421a10
mov dword [esi + 0x10], 0xcf99b00c
jmp 0x40255c
mov dword [esi + 0x10], 0xf4fdb34f
jmp 0x40255c
mov ecx, dword [esi + 0x28]
call fcn.00421a10
mov ecx, dword [esi + 0x24]
call fcn.00421a10
mov ecx, dword [esi + 0x18]
call fcn.00421a10
lea ecx, [esi + 0x88]
call fcn.00421a10
mov ecx, dword [esi + 0x54]
call fcn.00421a10
mov ecx, dword [esi + 0x58]
call fcn.00421a10
mov dword [esi + 0x10], 0x152a626
jmp 0x40255c
mov dword [esi + 0x10], 0x701bec7
jmp 0x40104e