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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov esi, esp
mov dword [esi + 0xc], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x10], eax
mov eax, dword [0x47f880]
xor eax, ebp
mov dword [esi + 0x120], eax
mov dword [esi + 0x14], 0xdab8486a
mov eax, dword [esi + 0x14]
mov dword [esi + 8], eax
sub eax, 0x8b3e1065
je 0x40be37
jmp 0x40a5b4
mov eax, dword [esi + 8]
sub eax, 0x8fc77eae
je 0x40b5cb
jmp 0x40a5c7
mov eax, dword [esi + 8]
sub eax, 0x912d55c6
je 0x40b517
jmp 0x40a5da
mov eax, dword [esi + 8]
sub eax, 0x92355270
je 0x40c1e1
jmp 0x40a5ed
mov eax, dword [esi + 8]
sub eax, 0x935cac49
je 0x40b986
jmp 0x40a600
mov eax, dword [esi + 8]
sub eax, 0x93b76c58
je 0x40b9a4
jmp 0x40a613
mov eax, dword [esi + 8]
sub eax, 0x98d1f952
je 0x40bf96
jmp 0x40a626
mov eax, dword [esi + 8]
sub eax, 0x9a45fa1d
je 0x40bfa2
jmp 0x40a639
mov eax, dword [esi + 8]
sub eax, 0x9bd3012a
je 0x40c2dc
jmp 0x40a64c
mov eax, dword [esi + 8]
sub eax, 0xa4831839
je 0x40be9e
jmp 0x40a65f
mov eax, dword [esi + 8]
sub eax, 0xa8b059bb
je 0x40bccf
jmp 0x40a672
mov eax, dword [esi + 8]
sub eax, 0xab7a1d6d
je 0x40b477
jmp 0x40a685
mov eax, dword [esi + 8]
sub eax, 0xaea5d0d5
je 0x40c2bb
jmp 0x40a698
mov eax, dword [esi + 8]
sub eax, 0xb0196350
je 0x40bd8a
jmp 0x40a6ab
mov eax, dword [esi + 8]
sub eax, 0xb22bda74
je 0x40b625
jmp 0x40a6be
mov eax, dword [esi + 8]
sub eax, 0xb2d9ff8c
je 0x40afc3
jmp 0x40a6d1
mov eax, dword [esi + 8]
sub eax, 0xb33a5313
je 0x40c0f5
jmp 0x40a6e4
mov eax, dword [esi + 8]
sub eax, 0xb35510d7
je 0x40bb55
jmp 0x40a6f7
mov eax, dword [esi + 8]
sub eax, 0xb5259e92
je 0x40bb73
jmp 0x40a70a
mov eax, dword [esi + 8]
sub eax, 0xb6a2fb63
je 0x40bee5
jmp 0x40a71d
mov eax, dword [esi + 8]
sub eax, 0xbc3b96ee
je 0x40c019
jmp 0x40a730
mov eax, dword [esi + 8]
sub eax, 0xc0bc9b41
je 0x40bebb
jmp 0x40a743
mov eax, dword [esi + 8]
sub eax, 0xc580cca6
je 0x40aeed
jmp 0x40a756
mov eax, dword [esi + 8]
sub eax, 0xc6a2c3b9
je 0x40c239
jmp 0x40a769
mov eax, dword [esi + 8]
sub eax, 0xc7d81533
je 0x40b523
jmp 0x40a77c
mov eax, dword [esi + 8]
sub eax, 0xc8493ac0
je 0x40b9ed
jmp 0x40a78f
mov eax, dword [esi + 8]
sub eax, 0xc85d726f
je 0x40bb20
jmp 0x40a7a2
mov eax, dword [esi + 8]
sub eax, 0xcb4c550d
je 0x40b4d1
jmp 0x40a7b5
mov eax, dword [esi + 8]
sub eax, 0xcbfc8e4a
je 0x40b558
jmp 0x40a7c8
mov eax, dword [esi + 8]
sub eax, 0xccfb2912
je 0x40c13b
jmp 0x40a7db
mov eax, dword [esi + 8]
sub eax, 0xcd547f86
je 0x40b9c7
jmp 0x40a7ee
mov eax, dword [esi + 8]
sub eax, 0xcdaf937a
je 0x40c198
jmp 0x40a801
mov eax, dword [esi + 8]
sub eax, 0xce0d4e06
je 0x40b078
jmp 0x40a814
mov eax, dword [esi + 8]
sub eax, 0xd470f457
je 0x40b781
jmp 0x40a827
mov eax, dword [esi + 8]
sub eax, 0xd77c8434
je 0x40b420
jmp 0x40a83a
mov eax, dword [esi + 8]
sub eax, 0xd8a34919
je 0x40b297
jmp 0x40a84d
mov eax, dword [esi + 8]
sub eax, 0xdab8486a
je 0x40ad84
jmp 0x40a860
mov eax, dword [esi + 8]
sub eax, 0xdee1f8fe
je 0x40b3b5
jmp 0x40a873
mov eax, dword [esi + 8]
sub eax, 0xdf83f347
je 0x40c26f
jmp 0x40a886
mov eax, dword [esi + 8]
sub eax, 0xe0a13cf5
je 0x40c1f6
jmp 0x40a899
mov eax, dword [esi + 8]
sub eax, 0xe3531271
je 0x40bd96
jmp 0x40a8ac
mov eax, dword [esi + 8]
sub eax, 0xe805a63a
je 0x40adca
jmp 0x40a8bf
mov eax, dword [esi + 8]
sub eax, 0xed7f9678
je 0x40c20e
jmp 0x40a8d2
mov eax, dword [esi + 8]
sub eax, 0xeeacab75
je 0x40b9b0
jmp 0x40a8e5
mov eax, dword [esi + 8]
sub eax, 0xefb49396
je 0x40b619
jmp 0x40a8f8
mov eax, dword [esi + 8]
sub eax, 0xf063e94e
je 0x40bf50
jmp 0x40a90b
mov eax, dword [esi + 8]
sub eax, 0xf19db9a0
je 0x40b84a
jmp 0x40a91e
mov eax, dword [esi + 8]
sub eax, 0xf25e5931
je 0x40bac9
jmp 0x40a931
mov eax, dword [esi + 8]
sub eax, 0xfdf9aba3
je 0x40b8db
jmp 0x40a944
mov eax, dword [esi + 8]
sub eax, 0xff1e05f1
je 0x40bf0a
jmp 0x40a957
mov eax, dword [esi + 8]
sub eax, 0xff409730
je 0x40b092
jmp 0x40a96a
mov eax, dword [esi + 8]
sub eax, 0x675dd0b
je 0x40b725
jmp 0x40a97d
mov eax, dword [esi + 8]
sub eax, 0x755b538
je 0x40b1d2
jmp 0x40a990
mov eax, dword [esi + 8]
sub eax, 0xab751af
je 0x40b53a
jmp 0x40a9a3
mov eax, dword [esi + 8]
sub eax, 0xfc6a20c
je 0x40b1bb
jmp 0x40a9b6
mov eax, dword [esi + 8]
sub eax, 0x1085a1d7
je 0x40b697
jmp 0x40a9c9
mov eax, dword [esi + 8]
sub eax, 0x11bab962
je 0x40ba5d
jmp 0x40a9dc
mov eax, dword [esi + 8]
sub eax, 0x14b6e4c2
je 0x40c1b9
jmp 0x40a9ef
mov eax, dword [esi + 8]
sub eax, 0x15dabbb9
je 0x40bc75
jmp 0x40aa02
mov eax, dword [esi + 8]
sub eax, 0x16a911fd
je 0x40bbde
jmp 0x40aa15
mov eax, dword [esi + 8]
sub eax, 0x17f70e5f
je 0x40b397
jmp 0x40aa28
mov eax, dword [esi + 8]
sub eax, 0x1ab30b73
je 0x40c324
jmp 0x40aa3b
mov eax, dword [esi + 8]
sub eax, 0x1be46232
je 0x40b2eb
jmp 0x40aa4e
mov eax, dword [esi + 8]
sub eax, 0x1bf6d2f7
je 0x40ba7b
jmp 0x40aa61
mov eax, dword [esi + 8]
sub eax, 0x1c974a49
je 0x40b649
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0x72b74d75
mov ecx, 0xe805a63a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x3c], edx
push eax
mov edx, esp
mov dword [esi + 0x40], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x44], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x48], edx
push eax
mov edx, esp
mov dword [esi + 0x4c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x50], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x54], edx
push eax
mov edx, esp
mov dword [esi + 0x58], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x5c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x60], edx
push eax
mov edx, esp
mov dword [esi + 0x64], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x68], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x6c], edx
push eax
mov edx, esp
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], ecx
add ecx, 0x1c
mov dword [esi + 0x78], ecx
mov dword [esi + 0x38], eax
lea ecx, [esi + 0x108]
lea eax, str.sosxzszcjdkmopsgoaeibbnkioyqrfkawdgoyhdispewryhupohslzjkvdkvyggyyznahim
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
vmovsd xmm0, qword [0x42d2e0]
vmovsd qword [esi + 0x30], xmm0
mov dword [esi + 0x2c], 0x11d1
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
sub edx, 0x4f50cbae
sub edx, 1
add edx, 0x4f50cbae
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, 0x72b74d75
mov ecx, 0x38bb7135
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
vmovsd xmm0, qword [0x42d2f0]
vmovsd qword [esi + 0x20], xmm0
lea ecx, [esi + 0xf0]
lea eax, str.rnoofzqkszkjpkzigdldaddsdylsukanhbhiptxalxffxzylqmfcpkgponemsyobiwouz
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
lea ecx, [esi + 0xd8]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
vmovsd xmm0, qword [0x42d2e8]
vmovsd qword [esi + 0x18], xmm0
lea ecx, [esi + 0xc0]
lea eax, str.wewwmqujhuiphuuirhloagrgzwdetklnqvewsxetfiezocjokwhbcjkhncujgbyghnyakuzbhajwmmzheybgrtunndnrxipt
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
lea ecx, [esi + 0xa8]
lea eax, str.wewwmqujhuiphuuirhloagrgzwdetklnqvewsxetfiezocjokwhbcjkhncujgbyghnyakuzbhajwmmzheybgrtunndnrxipt
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x3c]
lea eax, str.wewwmqujhuiphuuirhloagrgzwdetklnqvewsxetfiezocjokwhbcjkhncujgbyghnyakuzbhajwmmzheybgrtunndnrxipt
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0xa8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414410
add esp, 8
mov byte [esi + 7], al
mov ecx, dword [esi + 0x3c]
call fcn.00414080
lea ecx, [esi + 0xa8]
call fcn.00414080
mov dl, byte [esi + 7]
mov eax, 0xd8a34919
mov ecx, 0xb2d9ff8c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0x9f478304
sub edx, 1
add edx, 0x9f478304
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, 0xcdaf937a
mov ecx, 0x76f7c590
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x7f], al
mov dword [esi + 0x14], 0xff409730
jmp 0x40c32b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
add edx, 0x303b59e9
sub edx, 1
sub edx, 0x303b59e9
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, 0x2f317111
mov ecx, 0x342a2302
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x14], 0xce0d4e06
jmp 0x40c32b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
add edx, 0x521ae3e8
sub edx, 1
sub edx, 0x521ae3e8
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, 0x14b6e4c2
mov ecx, 0x2358ffbd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov ecx, dword [esi + 0x44]
lea eax, str.sosxzszcjdkmopsgoaeibbnkioyqrfkawdgoyhdispewryhupohslzjkvdkvyggyyznahim
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x48]
lea eax, str.sosxzszcjdkmopsgoaeibbnkioyqrfkawdgoyhdispewryhupohslzjkvdkvyggyyznahim
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414410
add esp, 8
and al, 1
mov byte [esi + 0x87], al
mov dword [esi + 0x14], 0x1be46232
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0x1aae8767
sub edx, 1
add edx, 0x1aae8767
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, 0x5f242d39
mov ecx, 0x5566dd82
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dl, byte [esi + 0x87]
mov eax, 0x675dd0b
mov ecx, 0xdee1f8fe
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
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, 0x92355270
mov ecx, 0xd77c8434
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x4b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0xc72bdd22
sub edx, 1
add edx, 0xc72bdd22
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, 0x92355270
mov ecx, 0xab7a1d6d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0x3ddffd50
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0xe0a13cf5
mov ecx, 0x912d55c6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0xc7d81533
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov dword [esi + 0x14], 0xab751af
jmp 0x40c32b
mov edx, dword [esi + 0x88]
mov eax, 0x5fb32c75
mov ecx, 0xcbfc8e4a
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
add edx, 0xec95ec76
sub edx, 1
sub edx, 0xec95ec76
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, 0x3fd0a7a4
mov ecx, 0x8fc77eae
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
add edx, 0x734a8af6
sub edx, 1
sub edx, 0x734a8af6
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, 0x3fd0a7a4
mov ecx, 0xefb49396
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0xb22bda74
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
sub eax, 0x8c27c086
add eax, 0xffffffff
add eax, 0x8c27c086
mov dword [esi + 0x8c], eax
mov dword [esi + 0x14], 0x1c974a49
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x8c]
mov dword [eax], ecx
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
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, 0xed7f9678
mov ecx, 0x42f4347e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov ecx, dword [esi + 0x50]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x54]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414410
add esp, 8
and al, 1
mov byte [esi + 0x93], al
mov ecx, dword [esi + 0x54]
call fcn.00414080
mov dword [esi + 0x14], 0xd470f457
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0x68ab5282
sub edx, 1
add edx, 0x68ab5282
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, 0x60bd3865
mov ecx, 0x5b2abf5b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dl, byte [esi + 0x93]
mov eax, 0x6cb97fcc
mov ecx, 0x3ae80de9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x58]
mov dword [eax], 0x1b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
sub edx, 0xf5e3ee2
sub edx, 1
add edx, 0xf5e3ee2
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, 0xc6a2c3b9
mov ecx, 0x740b0eea
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov edx, dword [esi + 0x94]
mov eax, 0xc8493ac0
mov ecx, 0x93b76c58
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0xeeacab75
jmp 0x40c32b
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
mov dword [esi + 0x14], 0xcd547f86
jmp 0x40c32b
mov ecx, dword [esi + 0x98]
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 + 0x58]
mov dword [eax], ecx
mov dword [esi + 0x14], 0x2826d075
jmp 0x40c32b
mov dword [esi + 0x14], 0x6cb97fcc
jmp 0x40c32b
mov dl, byte [esi + 0x9e]
mov eax, 0x60187bfe
mov ecx, 0x1bf6d2f7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
add edx, 0x6871e51
sub edx, 1
sub edx, 0x6871e51
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, 0x6e63e055
mov ecx, 0xf25e5931
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x64]
mov dword [eax], 0x56
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0xe1d24267
sub edx, 1
add edx, 0xe1d24267
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, 0x6e63e055
mov ecx, 0xc85d726f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0x28e801db
jmp 0x40c32b
mov dl, byte [esi + 0x9f]
mov eax, 0x15dabbb9
mov ecx, 0xb5259e92
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
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, 0x2bca0d3a
mov ecx, 0x16a911fd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
add edx, 0xea8301b0
sub edx, 1
sub edx, 0xea8301b0
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, 0x2bca0d3a
mov ecx, 0x690d1bdf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0x60187bfe
jmp 0x40c32b
mov ecx, dword [esi + 0x68]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x6c]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414410
add esp, 8
and al, 1
mov byte [esi + 0xa6], al
mov ecx, dword [0x480d54]
mov eax, dword [0x480d50]
mov edx, ecx
sub edx, 0xab56290f
sub edx, 1
add edx, 0xab56290f
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, 0xdf83f347
mov ecx, 0xb0196350
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0xe3531271
jmp 0x40c32b
mov ecx, dword [esi + 0x6c]
call fcn.00414080
mov ecx, dword [esi + 0x68]
call fcn.00414080
mov dl, byte [esi + 0xa6]
mov eax, 0x3065c656
mov ecx, 0x3e6a9eeb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x70]
mov dword [eax], 0x2c
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0xaea5d0d5
mov ecx, 0x2e9f0858
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x70]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0xa7], al
mov dword [esi + 0x14], 0xc0bc9b41
jmp 0x40c32b
mov dl, byte [esi + 0xa7]
mov eax, 0x9a45fa1d
mov ecx, 0x212abf41
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
add ecx, 0x2e1f591
add ecx, 0xffffffff
sub ecx, 0x2e1f591
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
mov dword [esi + 0x14], 0xff1e05f1
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0x2b6dfe07
mov ecx, 0xf063e94e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0x2b6dfe07
mov ecx, 0x98d1f952
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov dword [esi + 0x14], 0xa4831839
jmp 0x40c32b
mov dword [esi + 0x14], 0x3065c656
jmp 0x40c32b
lea ecx, [esi + 0xc0]
call fcn.00414080
lea ecx, [esi + 0xd8]
call fcn.00414080
lea ecx, [esi + 0xf0]
call fcn.00414080
lea ecx, [esi + 0x108]
call fcn.00414080
mov ecx, dword [esi + 0x74]
call fcn.00414080
mov ecx, dword [esi + 0x78]
call fcn.00414080
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
mov edx, eax
sub edx, 0x9b5b3d6a
sub edx, 1
add edx, 0x9b5b3d6a
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, 0x9bd3012a
mov ecx, 0x4dfa5cf0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, dword [0x480d54]
mov ecx, dword [0x480d50]
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, 0x1ab30b73
mov ecx, 0xccfb2912
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40c32b
mov eax, 0xecda
mov dword [esi], eax
mov ecx, dword [esi + 0x120]
xor ecx, ebp
call fcn.0041d9e0
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x44
mov eax, dword [esi + 0x40]
mov dword [eax], 0x3a
mov dword [esi + 0x14], 0x76f7c590
jmp 0x40c32b
mov dword [esi + 0x14], 0x2358ffbd
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x4b
mov dword [esi + 0x14], 0xd77c8434
jmp 0x40c32b
mov dword [esi + 0x14], 0xcb4c550d
jmp 0x40c32b
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x8c]
mov dword [eax], ecx
mov dword [esi + 0x14], 0x1085a1d7
jmp 0x40c32b
mov eax, dword [esi + 0x58]
mov dword [eax], 0x1b
mov dword [esi + 0x14], 0xfdf9aba3
jmp 0x40c32b
mov ecx, dword [esi + 0x68]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov ecx, dword [esi + 0x6c]
lea eax, str.maxce
sub esp, 4
mov dword [esp], eax
call fcn.004141f0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414410
add esp, 8
mov dword [esi + 0x14], 0xa8b059bb
jmp 0x40c32b
mov eax, dword [esi + 0x70]
mov dword [eax], 0x2c
mov dword [esi + 0x14], 0x8b3e1065
jmp 0x40c32b
lea ecx, [esi + 0xc0]
call fcn.00414080
lea ecx, [esi + 0xd8]
call fcn.00414080
lea ecx, [esi + 0xf0]
call fcn.00414080
lea ecx, [esi + 0x108]
call fcn.00414080
mov ecx, dword [esi + 0x74]
call fcn.00414080
mov ecx, dword [esi + 0x78]
call fcn.00414080
mov dword [esi + 0x14], 0xbc3b96ee
jmp 0x40c32b
mov dword [esi + 0x14], 0xb33a5313
jmp 0x40a59e