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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [0x503664]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x504510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
or edx, 0xb70c8171
mov edi, eax
mov esi, edx
and eax, 0x60e7f422
and esi, 0xf7e16f91
and edi, 0x812100e
or edi, esi
mov esi, ecx
xor esi, 0x48f37e8e
and esi, ecx
mov ebx, esi
and esi, 0x81e906e
not ebx
or edx, ebx
and ebx, 0xf7e16f91
or esi, ebx
not edx
xor esi, edi
or edx, esi
mov esi, edx
and edx, 0x48f37e8f
not esi
and esi, 0xb70c8170
or edx, esi
mov esi, edx
and edx, 0xd69410e5
not esi
and esi, 0x296bef1a
or edx, esi
mov esi, edx
xor edx, 0x296bef1a
mov edi, edx
xor esi, 0x40841020
or edx, ecx
and ecx, 0x9f180bdd
and edi, 0x9f180bdd
and esi, 0x60e7f422
or eax, ecx
mov ecx, dword [0x504514]
not edx
or esi, edi
xor eax, esi
or edx, eax
mov eax, 0x4dab9942
cmp edx, 0xffffffff
sete byte [ebp - 0x46]
cmp ecx, 0xa
setl byte [ebp - 0x45]
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [0x504510]
mov esi, 0x288aa963
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov edi, ecx
not edx
and edi, 0xbdcdaef8
mov eax, edx
and edx, 0xdf40b6fb
and eax, 0x42325106
or edi, eax
mov eax, ecx
and ecx, 0x20bf4904
xor edi, 0xbdcdaef8
and eax, 1
or ecx, edx
or eax, edi
mov edi, eax
mov edx, eax
not edi
and edx, 0xa596a8f7
and edi, 0x5a695708
or edi, edx
mov edx, ecx
xor ecx, 0xdf40b6fb
xor edx, 0x294100
or eax, ecx
and ecx, 0xa596a8f7
and edx, 0x5a695708
not eax
or edx, ecx
xor edx, edi
or eax, edx
mov ecx, eax
and eax, 0x243a50fa
not ecx
and ecx, 0xdbc5af05
or eax, ecx
xor eax, 0x243a50fa
sete cl
cmp dword [0x504514], 0xa
setl dl
mov eax, edx
xor dl, cl
or al, cl
mov ecx, eax
xor cl, dl
xor dl, 1
or al, dl
xor cl, 1
xor al, 1
or al, cl
mov ecx, eax
xor cl, 1
mov ch, cl
and ch, al
mov ah, ch
xor ch, cl
and ah, cl
mov cl, dl
or ch, ah
and cl, al
xor al, dl
xor ch, dl
or al, cl
mov edx, 0x5c270447
mov cl, ch
xor cl, al
not cl
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0x5c270447
cmovne eax, edx
test ch, 1
cmovne eax, edx
nop dword [eax]
cmp eax, 0x85cda03
jle 0x407800
cmp eax, 0x4f15e0d1
jg 0x4077b0
cmp eax, 0x288aa962
jg 0x4079b0
cmp eax, 0x85cda04
je 0x40816c
cmp eax, 0xedf62b3
je 0x4081a3
cmp eax, 0xf96f2b6
jne 0x407750
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x50], eax
mov eax, 0x85cda04
mov ecx, dword [ebp - 0x1c]
jmp 0x4089c6
cmp eax, 0x5c270446
jle 0x408146
cmp eax, 0x5c270447
je 0x4081b8
cmp eax, 0x76b24940
je 0x4082b7
cmp eax, 0x7938f50c
jne 0x407750
mov ecx, dword [ebp - 0x20]
mov eax, 0x4f15e0d2
mov dword [ebp - 0x4c], ecx
cmp eax, 0x85cda03
jg 0x40775b
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xab4f8f7d
jg 0x407940
cmp eax, 0x9636995e
jg 0x407a35
cmp eax, 0x8b519a25
je 0x4084a9
cmp eax, 0x8ee4e2bd
je 0x4084be
cmp eax, 0x940f75f2
jne 0x407750
mov eax, dword [ebp - 0x24]
mov ecx, dword [0x504510]
inc eax
mov dword [ebp - 0x2c], eax
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0x4c751752
or edx, 0x2d83a6f
not ecx
mov esi, edx
mov edi, ecx
and edx, 0x3e2d720c
and ecx, 0xb38ae8ad
not esi
or edi, 0xfd27c590
or eax, ecx
and esi, 0xc1028590
mov ecx, eax
xor eax, 0xb38ae8ad
or esi, edx
mov edx, edi
and edi, 0x3e2d720c
xor ecx, 0x4c751752
not edx
and edx, 0xd00863
or edx, edi
xor edx, esi
mov esi, edx
and edx, 0xfd27c591
not esi
and esi, 0x2d83a6e
or edx, esi
mov esi, 0x9636995f
and eax, edx
not edx
and ecx, edx
or eax, ecx
mov ecx, dword [0x504514]
not eax
or eax, edx
cmp eax, 0xffffffff
sete dl
setne ah
cmp ecx, 0xa
setl dh
cmp ecx, 9
mov cl, ah
setg al
or ah, dh
and dh, dl
and cl, al
or dh, cl
mov cl, dh
xor cl, al
or al, dl
mov dl, al
or al, ah
and cl, dh
xor dl, ah
xor al, 1
mov ah, cl
or al, dl
mov edx, eax
mov ch, al
xor dl, 1
xor ah, dl
and dl, al
xor dl, 1
xor ah, 1
xor ch, dl
or dl, al
or al, cl
xor dl, 1
xor al, 1
or dl, ch
or al, ah
xor dl, cl
mov ecx, edx
xor cl, al
test al, 1
mov eax, 0xf96f2b6
cmovne eax, esi
test dl, 1
not cl
mov edx, 0xf96f2b6
cmovne eax, esi
jmp 0x40899a
cmp eax, 0xee1c1133
jg 0x407bf9
cmp eax, 0xab4f8f7e
je 0x408579
cmp eax, 0xd3422631
je 0x408594
cmp eax, 0xdb593da3
jne 0x407750
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [ebp - 0x24]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x58], 2
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov eax, 0x6344f0c
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
cmp eax, 0x288aa963
je 0x408674
cmp eax, 0x400a5353
je 0x408689
cmp eax, 0x4dab9942
jne 0x407750
movzx eax, byte [ebp - 0x46]
movzx ecx, byte [ebp - 0x45]
mov edi, 0x400a5353
mov edx, ecx
xor dl, 1
and dl, cl
mov ah, dl
xor dl, cl
and ah, cl
or dl, ah
xor dl, al
xor al, 1
mov ah, al
xor dl, 1
xor ah, cl
xor al, ah
and al, ah
xor al, 1
mov ecx, eax
or cl, dl
xor dl, al
mov eax, ecx
xor al, dl
test al, 1
mov eax, 0xedf62b3
cmovne edi, eax
test dl, 1
mov edx, 0x400a5353
mov eax, edi
cmovne eax, edx
test cl, 1
cmovne eax, edi
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
cmp eax, 0x9636995f
je 0x408799
cmp eax, 0xa48d5843
je 0x4087c6
cmp eax, 0xa5d27280
jne 0x407750
mov eax, dword [0x504510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x43ab9f73
not eax
and eax, 0xbc54608c
or ecx, eax
mov eax, ecx
and ecx, 0xbc54608c
not eax
and eax, 0x43ab9f73
or ecx, eax
mov edi, ecx
and ecx, 0x4aea427d
not edi
mov eax, edi
or edi, 0xab8a45de
and eax, 0xb515bd82
or ecx, eax
mov eax, ecx
mov esi, ecx
xor ecx, 0x25019002
xor eax, 0x4aea427d
xor esi, 0x1e9ff85c
and ecx, 0x6f299252
and esi, eax
mov edx, esi
and esi, 0x4187777a
not edx
mov ebx, edx
or edx, edi
and ebx, 0xbe788885
not edx
or esi, ebx
mov ebx, edi
and edi, 0xbe788885
not ebx
and ebx, 0x40053220
or ebx, edi
mov edi, 0x9636995f
xor ebx, esi
or edx, ebx
mov esi, edx
and edx, 0xab8a45df
not esi
and esi, 0x5475ba20
or edx, esi
mov esi, eax
and eax, 1
and esi, 0x90d66dad
or esi, ecx
xor esi, 0x6f299253
or eax, esi
mov ecx, eax
and eax, 0xbaa6f7eb
not ecx
and ecx, 0x45590814
or eax, ecx
mov ecx, edx
and edx, 0x4ec73d86
not ecx
mov esi, ecx
and esi, 0xb138c279
or edx, esi
mov esi, eax
xor eax, 0x45590814
xor esi, 0xa863582
or ecx, eax
and eax, 0xb138c279
and esi, 0x4ec73d86
not ecx
or esi, eax
xor esi, edx
or ecx, esi
mov esi, 0x940f75f2
mov eax, ecx
and ecx, 0xbe22df01
not eax
and eax, 0x41dd20fe
or ecx, eax
mov eax, ecx
and ecx, 0x74b82002
not eax
and eax, 0x8b47dffd
or ecx, eax
mov eax, ecx
xor ecx, 0xca9aff03
xor eax, 0x202500dc
mov edx, ecx
and edx, 0xdddac221
and eax, 0x22253dde
or eax, edx
xor eax, 0xdddac221
xor ecx, eax
test ecx, eax
sete al
setne cl
cmp dword [0x504514], 9
setg dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov ah, dl
or dl, al
xor ah, al
xor cl, 1
not ah
and ah, al
mov al, dl
xor al, ah
xor ah, 1
or ah, dl
xor al, 1
xor ah, 1
or ah, al
xor ah, cl
mov dl, ah
mov ch, ah
not dl
and dl, cl
xor ch, dl
test ah, 1
mov eax, 0x9636995f
cmovne eax, esi
test dl, dl
jmp 0x40829e
cmp eax, 0xee1c1134
je 0x407660
cmp eax, 0xf7fef1fd
je 0x408810
cmp eax, 0x6344f0c
jne 0x407750
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x44]
mov eax, dword [0x504518]
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
mov eax, edx
xor ecx, 0xe48532be
and eax, 0x448402ac
and ecx, edx
not edx
and edx, 0xa0013012
or eax, edx
xor eax, 0x448402ac
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0xe48532be
not eax
and eax, 0x1b7acd41
or ecx, eax
mov eax, ecx
mov edi, ecx
xor eax, 0x6d8e952d
and edi, 0x9a23712e
and eax, ecx
not ecx
and ecx, 0x65dc8ed1
or edi, ecx
mov edx, edi
xor edi, 0xc80c41
xor edx, 0x9a23712e
and edi, 0xae83d6d
mov ecx, edx
and ecx, 0x6d8e952d
mov ebx, ecx
and ebx, eax
xor eax, ecx
or eax, ebx
mov ecx, eax
and eax, 0x6d8e952c
not ecx
and ecx, 0x92716ad3
or eax, ecx
mov ecx, edx
and edx, 1
mov ebx, eax
and ecx, 0xf517c292
and eax, 0xf4ad680a
or ecx, edi
not ebx
mov edi, ebx
xor ecx, 0xae83d6c
or edx, ecx
and edi, 0xb5297f5
or eax, edi
mov edi, edx
or ebx, edx
and edx, 0xb5297f5
not edi
not ebx
and edi, 0xf4ad680a
or edi, edx
xor edi, eax
or ebx, edi
mov eax, ebx
and ebx, 0x82
not eax
mov edx, eax
or eax, 0x3126048b
and edx, 0x31260409
mov edi, eax
and eax, 0x68416b54
or ebx, edx
not edi
mov edx, ebx
not ebx
and edi, 0x86989020
xor edx, 0x82
and ebx, 0x68416b54
or edi, eax
and edx, 0x1126048b
or edx, ebx
xor edi, edx
mov eax, edi
and edi, 0x448ebca8
not eax
and eax, 0xbb714357
or edi, eax
mov eax, edi
xor edi, 0x5106cc
xor eax, 0x65209803
and edi, 0x10d926ec
and eax, 0xef26d913
or eax, edi
xor eax, 0xef26d913
cmp eax, 0xffffffff
mov eax, dword [0x50451c]
sete byte [ebp - 0x12]
cmp eax, 0xa
mov eax, 0x27060080
setl byte [ebp - 0x11]
nop dword [eax + eax]
cmp eax, 0x2706007f
jg 0x407dd0
cmp eax, 0xf6826e72
je 0x407f1f
cmp eax, 0x14026df7
jne 0x407d90
mov ecx, esi
call fcn.004117f0
mov ecx, esi
call fcn.00412880
mov eax, 0xf6826e72
cmp eax, 0x2706007f
jle 0x407d97
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x43a0f8ae
je 0x408838
cmp eax, 0x27060080
jne 0x407d90
movzx edx, byte [ebp - 0x12]
movzx eax, byte [ebp - 0x11]
mov edi, 0x14026df7
mov ecx, edx
mov ch, dl
mov dh, al
mov byte [ebp - 0x4c], al
xor cl, 1
mov ah, cl
or cl, dl
and ah, dl
xor cl, 1
xor ah, 1
xor ch, ah
or ah, dl
xor ah, 1
or ah, ch
mov ch, al
mov bl, ah
xor ch, 1
xor bl, cl
or cl, ah
or dh, ch
xor cl, 1
mov bh, bl
mov dl, dh
or cl, bl
xor dl, 1
xor cl, 1
and bh, cl
xor cl, bl
mov bl, ch
and bl, al
or cl, bh
mov bh, dl
mov al, bl
and bh, dh
xor bl, ch
and al, ch
or bl, al
mov al, bh
xor bh, dl
and al, dl
or dl, ch
mov ch, ah
or bh, al
mov eax, ebx
xor dl, 1
xor ch, 1
xor al, 1
and al, bh
xor bh, 1
and bh, bl
mov bl, byte [ebp - 0x4c]
or bh, al
mov al, bh
xor dh, bl
or dl, dh
xor dl, 1
and al, dl
xor dl, bh
or dl, al
mov ah, dl
xor ah, cl
and dl, ah
and ah, cl
mov cl, ch
and ch, bl
mov al, dl
xor cl, bl
xor dl, ah
xor ah, 1
xor al, 1
or ch, cl
xor cl, 1
or ah, al
mov al, bl
mov al, cl
or cl, ch
xor al, ch
xor cl, 1
xor ah, 1
or cl, al
or ah, dl
mov al, cl
mov ch, ah
xor al, 1
and cl, al
mov edx, eax
and dl, cl
xor cl, al
mov al, ah
xor al, 1
or cl, dl
and ch, al
mov edx, ecx
mov dh, ch
xor dl, 1
xor ch, ah
and dh, ah
mov ah, cl
and ah, dl
or ch, dh
mov dh, ah
xor ah, cl
mov cl, ch
xor dh, 1
xor cl, 1
or dh, dl
xor dh, 1
or dh, ah
and cl, dh
xor dh, 1
and dh, ch
or dh, cl
mov ecx, eax
xor al, dl
and cl, dl
or al, cl
mov ecx, eax
xor cl, dh
test al, 1
mov eax, 0xf6826e72
cmovne eax, edi
test dh, 1
not cl
mov edx, 0xf6826e72
cmove eax, edi
test cl, 1
cmovne eax, edx
cmp eax, 0x2706007f
jle 0x407d97
jmp 0x407dd0
mov ecx, esi
call fcn.004117f0
mov ecx, esi
call fcn.00412880
mov eax, dword [0x504518]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
and ecx, 0xba97e46d
not edx
mov eax, edx
or edx, 0x748e258
and eax, 0x45681b92
or ecx, eax
mov eax, edx
and edx, 0x9efede11
mov edi, ecx
xor ecx, 0x4480210
not eax
xor edi, 0x2048
or ecx, 0x98b61c01
and eax, 0x600101a6
and ecx, 0x9efede11
and edi, 0x1002048
or eax, edx
or edi, ecx
xor eax, edi
mov ecx, eax
and eax, 0x748e258
not ecx
and ecx, 0xf8b71da7
or eax, ecx
mov ecx, eax
and eax, 0xc69a3cb8
not ecx
mov edx, ecx
or ecx, 0xa673e05a
and edx, 0x3965c347
or eax, edx
mov edx, eax
xor edx, 0x2061c042
or edx, 0x598c1fa5
mov edi, edx
and edx, 0x33aed410
not edi
and edi, 0x8451204a
or edi, edx
mov edx, ecx
and ecx, 0x33aed410
not edx
and edx, 0x48000ba5
or edx, ecx
xor edx, edi
mov ecx, edx
and edx, 0xd14cac0b
not ecx
and ecx, 0x2eb353f4
or edx, ecx
mov ecx, eax
xor eax, 0xc69a3cb9
and ecx, 1
xor edx, 0x773f4c50
or eax, ecx
mov ecx, edx
not eax
and ecx, eax
xor eax, edx
or eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 0xb128b979
and ecx, 0x11083111
and edx, eax
not eax
and eax, 0xa0208868
or ecx, eax
mov eax, ecx
xor ecx, 0xeef7ceee
xor eax, 0x1000110
mov edi, ecx
and edi, 0xd84aba2f
and eax, 0x21200150
or eax, edi
mov edi, edx
and edx, 0x27b545d0
not edi
or ecx, edi
and edi, 0xd84aba2f
or edx, edi
not ecx
mov edi, 0x43a0f8ae
xor edx, eax
mov eax, dword [0x50451c]
or ecx, edx
mov edx, ecx
and ecx, 0x263b4cbf
not edx
and edx, 0xd9c4b340
or ecx, edx
mov edx, ecx
xor ecx, 0x40040a29
xor edx, 0x831074c0
and ecx, 0x54078b2f
and edx, 0xabf874d0
or edx, ecx
mov ecx, edx
xor edx, 0x4070803
xor ecx, 0x8aa80410
and edx, 0x255778c3
and ecx, 0xdaa8873c
or ecx, edx
mov edx, ecx
xor ecx, 0x5a080024
xor edx, 0x1437002
and ecx, 0x7e1c08e5
and edx, 0x81e3f71a
or edx, ecx
xor edx, 0x81e3f71a
setne dl
sete ch
cmp eax, 9
setg cl
cmp eax, 0xa
mov ah, ch
setl al
xor ah, dl
xor cl, dl
and ah, ch
mov dh, ah
mov bl, ah
xor dh, 1
or dh, ah
xor dh, 1
and bl, dh
xor dh, ah
or dh, bl
xor dh, al
or al, ch
xor al, 1
mov dl, al
and dl, cl
xor cl, al
or cl, dl
xor cl, dh
and dh, cl
mov eax, ecx
xor al, dh
test al, 1
mov eax, 0x14026df7
cmovne edi, eax
test cl, 1
mov eax, 0x43a0f8ae
cmovne eax, edi
test dh, 1
cmove eax, edi
cmp eax, 0x2706007f
jle 0x407d97
jmp 0x407dd0
cmp eax, 0x5403e1b3
je 0x408862
cmp eax, 0x5b19ba16
je 0x4089b0
cmp eax, 0x4f15e0d2
jne 0x407750
jmp 0x4089d9
mov eax, dword [ebp - 0x60]
mov edx, 0xa48d5843
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
mov eax, 0x7938f50c
cmovb eax, edx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, 0x400a5353
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov ecx, dword [0x504510]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
and ecx, 0x16c90a82
mov edi, edx
and edi, 0x89100001
or ecx, edi
mov edi, ecx
xor ecx, 0xe936f57d
xor edi, 0x12480a00
mov ebx, ecx
and ebx, 0x45a3e4af
and edi, 0x9a580a00
or edi, ebx
mov ebx, eax
xor ebx, 0x9fd90a83
and ebx, eax
mov esi, ebx
and ebx, 0xba5c1b50
not esi
or ecx, esi
and esi, 0x45a3e4af
or ebx, esi
not ecx
xor ebx, edi
mov edi, 0x8b519a25
or ecx, ebx
mov esi, ecx
and ecx, 0x92d59844
not esi
and esi, 0x6d2a67bb
or ecx, esi
mov esi, ecx
xor ecx, 0xf2f36d39
xor esi, 0xd0c92c6
and edx, ecx
and esi, eax
mov eax, dword [0x504514]
or esi, edx
not esi
or esi, ecx
cmp esi, 0xffffffff
mov esi, 0x5403e1b3
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
and ch, cl
mov cl, dl
and cl, al
or ch, cl
xor ch, 1
or ch, al
xor al, dl
mov cl, al
and al, ch
xor ch, 1
xor cl, 1
mov dl, ch
xor dl, cl
and cl, ch
or cl, al
and dl, ch
mov eax, 0x8b519a25
mov ch, cl
xor ch, dl
test cl, cl
cmovne eax, esi
test dl, 1
cmove eax, edi
test ch, 1
cmovne eax, esi
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x30], eax
mov eax, dword [0x504510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
or ecx, 0x4800a210
not eax
and ecx, 0x6912a23b
mov esi, eax
and eax, 0x922c0000
or esi, 0xb33e002b
or eax, ecx
mov edx, esi
and esi, 0x6912a23b
not edx
and edx, 0x4c15dc4
or edx, esi
xor edx, eax
mov eax, edx
and edx, 0xb33e002b
not eax
and eax, 0x4cc1ffd4
or edx, eax
mov ecx, edx
mov esi, edx
and edx, 0x70db74f4
not ecx
xor esi, 0x113aa709
and esi, ecx
mov eax, esi
and esi, 0x57fb2916
not eax
mov edi, eax
and edi, 0xa804d6e9
or esi, edi
mov edi, ecx
or edi, 0x113aa709
mov ebx, edi
or eax, edi
and edi, 0xa804d6e9
not ebx
not eax
and ebx, 0x46c10816
or ebx, edi
xor ebx, esi
or eax, ebx
mov esi, eax
and eax, 0xa6095d49
not esi
and esi, 0x59f6a2b6
or eax, esi
mov esi, ecx
and ecx, 1
and esi, 0x8f248b0b
or esi, edx
mov edx, eax
xor eax, 0x48cc05be
xor esi, 0x70db74f5
xor edx, 0x2230f041
or ecx, esi
and edx, 0x2238f0df
mov esi, ecx
and ecx, 0x4e11dd0a
not esi
and esi, 0xb1ee22f5
or ecx, esi
mov esi, eax
and esi, 0xddc70f20
or edx, esi
mov esi, ecx
xor ecx, 0xb1ee22f5
xor esi, 0x210d00a
or eax, ecx
and ecx, 0xddc70f20
and esi, 0x2238f0df
not eax
or esi, ecx
xor esi, edx
or eax, esi
mov esi, 0xab4f8f7e
mov ecx, eax
or eax, 0x8409201
not ecx
and eax, 0x4d5d9e41
mov edx, ecx
and ecx, 0x32822096
or edx, 0x779f2cd6
or ecx, eax
mov eax, edx
and edx, 0x4d5d9e41
not eax
and eax, 0x80204128
or eax, edx
xor eax, ecx
mov ecx, eax
and eax, 0x779f2cd6
not ecx
and ecx, 0x8860d329
or eax, ecx
mov ecx, eax
and eax, 0x2773231d
not ecx
mov edx, ecx
and edx, 0xd88cdce2
or eax, edx
xor eax, 0xd88cdce2
xor ecx, eax
test ecx, eax
mov ecx, dword [0x504514]
setne al
cmp ecx, 0xa
setl dl
cmp ecx, 9
mov ch, al
setg cl
or ch, dl
mov ah, cl
xor cl, al
and ah, al
xor al, dl
not al
or cl, ah
and al, dl
mov dl, ch
mov ah, cl
xor al, 1
xor ah, 1
xor dl, al
or al, ch
xor al, 1
or al, dl
mov edx, eax
xor dl, 1
mov ch, dl
xor cl, dl
and ch, al
xor dl, ch
xor ch, 1
or ch, al
or al, ah
xor ch, 1
xor al, 1
or ch, dl
or al, cl
mov edx, 0xf7fef1fd
xor ch, ah
mov cl, ch
xor cl, al
not cl
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0xf7fef1fd
jmp 0x407744
mov eax, 0xd3422631
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov ecx, dword [0x504510]
mov esi, 0xd3422631
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
not ecx
and edi, 0x48d87598
mov edx, ecx
and ecx, 0xbb5fae81
and edx, 0xb7278a66
or edi, edx
mov edx, eax
and eax, 0x44a0517e
or eax, ecx
xor edi, 0x48d87598
and edx, 1
mov ecx, eax
or edx, edi
xor eax, 0xbb5fae81
mov edi, 0x8b519a25
and eax, edx
xor ecx, 0x44a0517e
not edx
and ecx, edx
or eax, ecx
xor edx, eax
test edx, eax
mov eax, dword [0x504514]
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
and ch, cl
mov cl, dl
and cl, al
xor dl, al
or ch, cl
xor dl, 1
mov cl, ch
xor cl, al
mov eax, 0x8b519a25
and cl, ch
xor cl, 1
mov ch, cl
xor cl, dl
or ch, dl
mov dl, ch
xor dl, cl
test cl, cl
cmovne eax, esi
test ch, ch
cmovne eax, edi
test dl, 1
cmove eax, esi
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, 0x76b24940
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov ecx, dword [0x504510]
mov esi, 0xee1c1134
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
and eax, 0x212bdb48
not ecx
and edi, 0xcbc321f
mov edx, ecx
and edx, 0xf343cde0
or edi, edx
mov edx, edi
xor edi, 0xf102c4c0
xor edx, 0xc1c3010
or edi, 1
and edi, 0xf1a2c6cf
and edx, 0xe5d3930
or edx, edi
mov edi, ecx
and ecx, 0xded424b7
or edi, 0xf1a2c6ce
or eax, ecx
and edi, 0xf1a2c6cf
xor edi, edx
mov ecx, edi
and edi, 0x916d8d06
not ecx
mov edx, ecx
and edx, 0x6e9272f9
or edi, edx
mov edx, eax
xor eax, 0x4e9020b1
xor edx, 0x1298900
and eax, 0x6e9272f9
and edx, 0x916d8d06
or edx, eax
mov eax, dword [0x504514]
xor edx, edi
mov edi, 0x288aa963
xor ecx, edx
test ecx, edx
sete cl
setne dl
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
and cl, ch
mov ah, al
xor ah, dl
and dl, al
mov dh, ah
or cl, dl
xor dh, ch
and dh, ah
xor cl, dh
mov dl, cl
not dl
and dl, dh
mov eax, edx
xor al, cl
cmovne edi, esi
test cl, cl
mov eax, edi
cmovne eax, esi
test dl, dl
jmp 0x408786
mov eax, 0xee1c1134
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
push eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov ecx, eax
mov eax, dword [eax + 0x3c]
mov eax, dword [ecx + eax + 0x78]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x38], eax
mov eax, dword [0x504510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
xor edx, 0x37b42dbe
mov edi, eax
and edx, ecx
and eax, 0x3df155d1
and edi, 0x37b42dbe
mov ebx, edi
and ebx, edx
xor edx, edi
or edx, ebx
mov edi, edx
and edx, 0xf5ed1c5f
not edi
and edi, 0xa12e3a0
or edx, edi
mov edi, edx
xor edx, 0x3da04411
xor edi, 0xc25931e0
and edx, 0x3df155d1
mov ebx, edi
or edi, ecx
and ecx, 0xc20eaa2e
and ebx, 0xc20eaa2e
or eax, ecx
not edi
or edx, ebx
xor eax, edx
or edi, eax
mov eax, edi
and edi, 0x23ebc03f
not eax
and eax, 0xdc143fc0
or edi, eax
xor edi, 0x23ebc03f
mov edi, 0x5b19ba16
sete al
setne cl
cmp dword [0x504514], 0xa
setl dl
mov ch, dl
xor cl, dl
or ch, al
xor cl, 1
xor ch, 1
or ch, cl
xor ch, 1
xor dl, ch
xor dl, al
mov eax, edx
xor al, 1
and ch, al
xor al, ch
test al, 1
mov eax, 0xedf62b3
cmovne edi, eax
test dl, dl
mov edx, 0x5b19ba16
mov eax, edi
cmovne eax, edx
test ch, ch
cmove eax, edi
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, 0x940f75f2
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x34], ecx
add eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x44]
push eax
call fcn.00408a00
push 0x235
push dword [ebp - 0x44]
call fcn.00402e00
add esp, 8
cmp eax, dword [ebp + 0xc]
mov eax, 0x8ee4e2bd
mov ecx, 0xdb593da3
cmove eax, ecx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], eax
mov eax, 0x6344f0c
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x54], ecx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x58], 0
mov edx, dword [ebp - 0x18]
mov eax, 0x4f15e0d2
mov ecx, 0xa5d27280
cmove eax, ecx
mov dword [ebp - 0x4c], edx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov ecx, dword [0x504510]
mov esi, 0xab4f8f7e
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x3c13f169
not ecx
and edx, 0x83e00892
and ecx, 0x400c0604
or edx, ecx
xor edx, 0x83e00892
or eax, edx
mov ecx, eax
and eax, 0xc3ec0e96
not ecx
and ecx, 0x3c13f169
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 1
not edx
and ecx, eax
and edx, 0xfffffffe
and eax, 1
or eax, edx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov edx, eax
mov ecx, eax
xor edx, 0x719ed75f
and ecx, 0x1080354
and edx, eax
not eax
and eax, 0x7096d40b
or ecx, eax
xor ecx, 0x1080354
mov eax, ecx
and eax, edx
xor edx, ecx
mov ecx, dword [0x504514]
or edx, eax
mov eax, edx
and edx, 0x719ed75f
not eax
and eax, 0x8e6128a0
or edx, eax
setne ah
sete dh
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
mov ch, cl
xor ch, dl
or dl, dh
and ch, cl
xor dl, 1
xor cl, ah
mov al, ch
mov bl, ch
xor al, 1
or al, ch
xor al, 1
and bl, al
xor al, ch
or al, bl
or dh, al
xor al, 1
or al, ah
mov ah, dl
and ah, cl
xor cl, dl
mov ch, al
or al, dh
or cl, ah
xor ch, dh
xor al, 1
mov edx, ecx
or al, ch
xor dl, 1
mov ah, dl
and ah, cl
xor dl, ah
xor ah, 1
or ah, cl
mov ecx, eax
xor ah, 1
xor cl, 1
or ah, dl
mov edx, eax
and dl, cl
xor dl, 1
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
mov cl, al
or dl, ch
xor cl, ah
xor dl, ah
or ah, al
xor ah, 1
or ah, cl
mov cl, ah
xor cl, dl
test ah, 1
mov eax, 0x76b24940
cmovne eax, esi
test dl, 1
mov edx, 0x76b24940
cmove eax, esi
test cl, 1
cmove eax, edx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov dword [ebp - 0x64], 0
mov eax, 0x85cda04
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x60], ecx
cmp eax, 0x85cda03
jle 0x407800
jmp 0x40775b
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x10]
add esi, dword [ebp + 8]
xor ecx, ebp
call fcn.004d7158
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret