Function at 0x40f350
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push ebx
mov eax, 0x4e8f
mov word [ebp - 0x3c], ax
mov ebx, 1
mov word [ebp - 0x18], bx
mov edx, 0x4438
mov word [ebp - 8], dx
movzx eax, word [ebp - 8]
movzx ecx, word [ebp - 0x18]
or eax, 0x6a1e
cdq
idiv ecx
movzx edx, word [ebp - 0x3c]
push esi
push edi
xor eax, 0x79a7
and eax, edx
mov word [ebp - 0x18], ax
mov eax, 0x74ad
mov word [ebp - 8], ax
movzx ecx, word [ebp - 8]
mov edx, 0x5b60
and cx, dx
mov eax, 0x241f
or cx, ax
movzx eax, word [ebp - 0x18]
mov edx, 0x5f80
add cx, dx
cmp ax, cx
jne 0x40f4a5
call dword [0x4140c8]
mov dword [ebp - 0x3c], 0x21b4
mov dword [ebp - 0x18], 0x50db
mov dword [ebp - 8], 0x37eb
mov dword [ebp - 4], 0x79c2
mov dword [ebp - 0x10], 0x79c4
mov dword [ebp - 0x1c], 2
mov dword [ebp + 0xc], 0x107f
mov dword [ebp + 8], 0x6e72
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
or eax, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
div ecx
mov edx, dword [eax - 0x7aaaeda6]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
and eax, 0x35a4
imul eax, ecx
push edx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
and eax, edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [eax + 0x46d67229]
shr ecx, 1
imul ecx, edx
push eax
mov eax, 0x4f950fb3
mul ecx
shr edx, 0xa
mov eax, dword [edx - 0x49adbac0]
push eax
call dword [0x4140bc]
mov eax, 0x7cf9
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], 0x3ffa
mov dword [ebp - 0x1c], 0x62bb
mov dword [ebp + 0xc], 0x3ad
mov dword [ebp + 8], 0x11f3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
or ecx, 0x3307
imul ecx, edx
mov edx, dword [ebp - 0x1c]
xor ecx, edx
mov edx, dword [ebp - 0x10]
and ecx, edx
mov edx, dword [ebp - 4]
or ecx, edx
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 4], 0x6d6
mov dword [ebp - 0x10], 0x34db
mov dword [ebp - 0x1c], 0x313b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
and eax, 0x2c48
xor eax, ecx
xor eax, 0xffffd317
and eax, edx
and eax, 0x6ce8
mov dword [ebp - 0x84], eax
mov byte [ebp - 5], 0x66
mov byte [ebp - 0x15], 2
mov byte [ebp - 0x39], 0x77
mov byte [ebp - 0x51], 0xce
mov byte [ebp - 0x61], 0x1f
mov al, byte [ebp - 0x61]
movzx edx, byte [ebp - 0x51]
movzx eax, al
or eax, edx
movzx edx, byte [ebp - 0x39]
movzx ecx, byte [ebp - 0x15]
or eax, edx
cdq
idiv ecx
movzx edx, byte [ebp - 5]
mov ecx, 0x41e
mov edi, 0x32e0
mov esi, 0x983
and eax, edx
mov byte [ebp - 5], al
mov eax, 0x3e5f
mov word [ebp - 0x1c], ax
mov word [ebp - 0x10], cx
mov edx, 0x4f0f
mov word [ebp - 4], dx
mov eax, 0x533e
mov word [ebp - 0x64], ax
mov ecx, 0x498b
mov word [ebp - 0x54], cx
mov edx, 0x5433
mov word [ebp - 8], dx
mov eax, 0x68f3
mov word [ebp - 0x3c], ax
mov ecx, 0x46a6
mov word [ebp - 0x18], cx
movzx edx, word [ebp - 8]
mov eax, 0x3ff
add dx, ax
mov ax, word [ebp - 0x54]
mov ecx, 0x17d1
and dx, cx
imul dx, ax
mov ecx, 0x2796
sub dx, cx
xor edx, 0x93c8
mov word [ebp - 8], dx
mov dx, word [ebp - 0x18]
mov eax, 0x276d
xor dx, ax
mov ax, word [ebp - 0x3c]
mov ecx, 0x214f
sub dx, cx
mov cx, word [ebp - 8]
add dx, ax
cmp cx, dx
jbe 0x40f73c
mov dword [ebp - 0x54], 0xf6f
mov dword [ebp - 0x58], 0x11e9
mov dword [ebp - 0x60], 0x299a
mov dword [ebp - 0x70], 0x4fb6
mov dword [ebp - 0x68], 0x74f
mov dword [ebp - 0x6c], 0x9e4
mov dword [ebp - 0x50], 0x6b8f
mov dword [ebp - 0x38], 0x2770
mov dword [ebp - 0x14], 0x4fc6
mov dword [ebp - 0x20], 0x4c35
mov dword [ebp - 0xc], 0x5b4e
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], 0x634
mov dword [ebp - 0x38], 0x1490
mov dword [ebp - 0x20], 0x7b7
mov dword [ebp - 0x14], 0x1495
mov dword [ebp - 0xc], 0x1719
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x50]
call fcn.0040c160
mov dword [ebp - 0x80], 0x7fe4
mov dword [ebp - 0x7c], 0x2f0b
mov dword [ebp - 0x90], 0x5a7f
mov dword [ebp - 0x8c], 0x1c69
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], esi
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x8c]
or eax, edx
mov edx, dword [ebp - 0x80]
or ecx, ebx
mov ebx, dword [ebp - 0x7c]
or eax, 0x13a0
xor eax, 0x5536
or ecx, 0x379c
xor ecx, 0x5e28
add eax, edx
adc ecx, ebx
add eax, 0xffff8a77
mov dword [ebp - 0x30], eax
adc ecx, 0xffffdeec
mov dword [ebp - 0x2c], ecx
movzx eax, word [ebp - 0x64]
movzx edx, word [ebp - 4]
mov ecx, 0x1391
add ax, cx
movzx ecx, word [ebp - 0x10]
imul ax, dx
movzx edx, word [ebp - 0x1c]
imul ax, cx
or ax, dx
movzx edx, word [ebp - 8]
mov ecx, 0x4022
add ax, cx
mov ecx, 0x276d
mov ebx, 1
sub edx, eax
mov word [ebp - 8], dx
movzx eax, word [ebp - 0x18]
xor ax, cx
movzx ecx, word [ebp - 0x3c]
mov edx, 0x214f
sub ax, dx
movzx edx, word [ebp - 8]
add ax, cx
cmp dx, ax
ja 0x40f592
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x3c]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x20], 0x46cd
mov dword [ebp - 0x14], 0x7bc4
mov dword [ebp - 0xc], 0x3c95
mov dword [ebp + 8], 0x17ee
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
xor edx, eax
mov eax, dword [ebp - 0x20]
imul edx, ecx
and edx, 0x38bf
or edx, eax
imul edx, edx, 0x39e0
sub edx, 0x1744d460
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], 0x5c70
mov dword [ebp + 8], 0xc27
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
imul ecx, ecx, 0xcdf
or ecx, edx
and ecx, 0x3019
sub ecx, 0x3019
lea eax, [ebp + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], eax
lea ecx, [ecx]
mov dword [ebp - 0x14], 0x555a
mov dword [ebp - 0xc], 0x30c
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x38], 0xd8c
mov dword [ebp - 0x20], 0x6462
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x68], 0xf5b
mov dword [ebp - 0x6c], 0x101c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
or ecx, 0x2b6e
imul ecx, ecx, 0x802
sub ecx, edx
mov eax, 0x401005
mul ecx
mov eax, dword [ebp + 8]
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 9
sub ecx, 0x33e9
xor ecx, 0x71002309
cmp dword [eax], ecx
jb 0x40f856
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
xor eax, ecx
mov ecx, dword [ebp - 0x50]
xor edx, edx
div ecx
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
mov eax, dword [ebp + 8]
shr edx, 1
add edx, 0x7feffb97
cmp dword [eax], edx
jae 0x40f856
mov ecx, ebx
jmp 0x40f858
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x70]
xor eax, 0x18ba
sub eax, 0x5a4c
or eax, edx
xor edx, edx
add eax, 0x63de
div esi
mov edx, 0x1339
sub edx, eax
cmp ecx, edx
jne 0x40f8fe
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x58], 0x58bb
mov dword [ebp - 0x60], 0x69
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
and eax, 0x6ab4
xor eax, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
div ecx
mov edx, dword [ebp + 8]
lea eax, [edx + eax - 0x589f]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp + 8], edx
mov dword [ebp - 0x10], 0x87
mov dword [ebp - 0x1c], 0x6cd2
mov dword [ebp - 0x58], 0x7e6d
mov dword [ebp - 0x60], 0x766
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
or eax, ecx
mov ecx, dword [ebp - 0x10]
or eax, edx
xor edx, edx
div ecx
mov edx, 0xf6
sub edx, eax
add dword [ebp + 8], edx
jmp 0x40f7f4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 0x5caa
mov edx, dword [ebp - 0xc]
and edx, 0xffffeaee
add edx, 0xa3a
xor edx, 0x196
and edx, 0x2797
mov eax, 0x30e
sub eax, edx
add dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], 0x7fef
mov dword [ebp + 8], 0x6565
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
and eax, 0x2bdc
xor eax, ecx
imul eax, eax, 0x5625
sub eax, 0x1fda20b8
not eax
and eax, dword [ebp - 4]
mov edx, 0x3350
mov dword [ebp - 4], eax
mov word [ebp - 0x18], dx
mov eax, 0x883
mov word [ebp - 8], ax
mov eax, dword [ebp - 4]
mov ecx, 0x207
mov word [ebp + 8], cx
mov dword [ebp - 0x14], 0x7b77
mov dword [ebp - 0xc], 0x550
mov dx, word [ebp + 8]
mov ecx, 0x17fa
and dx, cx
movzx ecx, word [ebp - 8]
or dx, cx
movzx ecx, word [ebp - 0x18]
xor dx, cx
mov ecx, 0x639e
xor dx, cx
mov ecx, dword [ebp - 4]
cmp word [ecx], dx
je 0x40fa06
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
imul edx, edx, 0x693b
sub ecx, edx
mov dx, word [ebp + 8]
imul ecx, ecx, 0x3fb5
lea eax, [eax + ecx - 0x2657f3]
mov ecx, 0x17fa
and dx, cx
movzx ecx, word [ebp - 8]
or dx, cx
movzx ecx, word [ebp - 0x18]
xor dx, cx
mov ecx, 0x639e
mov dword [ebp - 4], eax
xor dx, cx
mov ecx, dword [ebp - 4]
cmp word [ecx], dx
jne 0x40f994
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0xc4f
mov dword [ebp + 8], 0x4e56
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
and ecx, 0x25d
imul ecx, edx
imul ecx, ecx, 0x32908
lea ecx, [ecx + eax + 0x7071f518]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x20], 0x3395
mov dword [ebp - 0x14], 0x91e
mov dword [ebp - 0xc], 0x65dd
mov dword [ebp - 0x38], 0xbd1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
or edx, 0x5722
and edx, eax
mov eax, dword [ebp + 8]
or edx, ecx
sub edx, 0x339f
cmp dword [eax], edx
je 0x410909
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
xor ecx, 0x2df7
sub ecx, 0x3670
xor ecx, 0xffffefb6
cmp dword [edx + 4], ecx
je 0x410909
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
add ecx, dword [eax]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x90], 0x3615
mov dword [ebp - 0x8c], 0x2a39
mov dword [ebp - 0x88], 0x43f8
mov dword [ebp - 0x84], 0x3940
mov dword [ebp - 0xa8], 0xff4
mov dword [ebp - 0xa4], 0x3d6b
mov dword [ebp - 0xa0], 0x32c4
mov dword [ebp - 0x9c], 0x1e9f
mov dword [ebp - 0x80], 0x4643
mov dword [ebp - 0x7c], 0x32fe
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
mov ecx, 0x12ce4
sub ecx, edx
mov edx, 0xbcb4
sbb edx, eax
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
push esi
push eax
push edx
push ecx
call fcn.00406328
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0xc]
mov ecx, dword [ebp - 4]
or eax, 0x21b4
or edx, 0x7eed
add eax, 0x3b2f9072
adc edx, 0x2a342e6f
cmp dword [ecx + esi], eax
jne 0x410160
cmp dword [ecx + esi + 4], edx
jne 0x410160
mov byte [ebp - 0x15], 0xbb
mov byte [ebp - 5], 0x49
mov byte [ebp + 0xb], 9
movzx ecx, byte [ebp + 0xb]
movzx eax, byte [ebp - 5]
cdq
idiv ecx
movzx edx, byte [ebp - 0x15]
neg dl
xor al, 0x77
mov cl, al
add cl, cl
add cl, cl
add cl, cl
add al, cl
add al, al
sub dl, al
add edx, 0xf2
mov byte [ebp - 0x39], dl
mov byte [ebp - 0x15], 0x40
mov byte [ebp - 5], 0xd4
mov byte [ebp + 0xb], 0xac
mov al, byte [ebp + 0xb]
movzx ecx, byte [ebp - 5]
movzx edx, byte [ebp - 0x15]
or al, 0xe3
xor al, cl
movzx ecx, byte [ebp - 0x39]
shr al, 1
imul dl
cmp cl, al
ja 0x410943
mov edx, dword [0x30311c3a]
mov dword [ebp - 0x50], 0x2793e
mov dword [ebp - 0x38], 0xb53
mov dword [ebp - 0x20], 0x7767
mov dword [ebp - 0x14], 3
mov dword [ebp - 0xc], 0x31cc
mov dword [ebp + 8], 0x7a3e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
and eax, 0x7f0c
or eax, ecx
mov ecx, dword [ebp - 0x14]
push edx
xor edx, edx
div ecx
mov edx, dword [ebp - 0x20]
imul eax, eax, 0x7ff7
xor eax, edx
mov eax, dword [eax + 0x29f8f2aa]
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x50]
sub eax, 0x6189
xor edx, edx
div ecx
mov edx, 0xf0c7484f
sub eax, 0x56bf
imul eax, eax, 0x4bbd
sub edx, eax
mov eax, dword [edx]
push eax
call dword [0x414098]
mov dword [ebp - 0x38], 0x56f0
mov dword [ebp - 0x20], 0xdc
mov dword [ebp - 0x14], 0x75f6
mov dword [ebp - 0xc], 0x5e2a
mov dword [ebp + 8], 0x6160
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
or ecx, 0x4ae8
add ecx, 0x1d15
xor ecx, 0x5bd8
and ecx, edx
mov eax, dword [ecx + 0x4c568f8]
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
or eax, 0x2b5d
sub eax, 0x36db
xor edx, edx
div ecx
mov edx, dword [ebp - 0x38]
or eax, edx
imul eax, eax, 0x265
xor eax, 0x68b80c1c
mov eax, dword [eax]
push eax
call dword [0x414050]
mov dword [ebp - 0x24], 0x4c40
mov dword [ebp - 0x34], 0x643b
mov dword [ebp - 0x4c], 0x7e1d
mov dword [ebp - 0x5c], 0x74f7
mov dword [ebp - 0x64], 0x5cb
mov dword [ebp - 0x54], 0x695a
mov dword [ebp - 0x3c], 0x71c0
mov dword [ebp - 0x18], 0x42d7
mov dword [ebp - 8], 0x5959
mov dword [ebp - 4], 0x5953
mov dword [ebp - 0x10], 0x3b05
mov dword [ebp - 0x58], 8
mov dword [ebp - 0x60], 0x5214
mov dword [ebp - 0x68], 0x61b7
mov dword [ebp - 0x6c], 0x7b2b
mov dword [ebp - 0x70], 0x743e
mov dword [ebp - 0x50], 0x4e67
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x20], 0x784b
mov dword [ebp - 0x14], 0x5f64
mov dword [ebp - 0xc], 0x9ee
mov dword [ebp + 8], 0x7ff2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
xor ecx, 0x7600
or ecx, edx
or ecx, eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x19ba1d8d]
push ecx
mov ecx, dword [ebp - 0x38]
or eax, 0x797a
xor edx, edx
div ecx
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax + edx + 0x2b190a1f]
mov edx, dword [ebp - 0x68]
sub ecx, edx
add ecx, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x60]
or ecx, eax
or ecx, 0x31d6
mov ecx, dword [ecx + 0x5c278d8c]
push ecx
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov eax, 0xd9
div ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
xor eax, edx
sub eax, 0x251b
xor eax, 0x2929
imul eax, ecx
xor eax, 0x92d5aa35
mov edx, dword [eax]
mov eax, dword [ebp - 8]
push edx
mov ecx, 0x64bf
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c]
imul ecx, edx
mov eax, dword [ecx - 0x2043533c]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x64]
push eax
xor ecx, 0x28da
or ecx, edx
mov eax, dword [ecx - 0x42e11ace]
mov ecx, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x4c]
xor ecx, ebx
or ecx, 0x5d1e
mov edx, dword [ecx + 0x1363edfa]
mov ecx, dword [ebp - 0x34]
or eax, ecx
push edx
mov edx, dword [ebp - 0x24]
or eax, edx
xor eax, 0x4200
or eax, 0x159b
mov eax, dword [eax - 0x97a3824]
push eax
call dword [0x414040]
xor dword [esi], 0x1e
cdq
mov esi, 0x94c8348c
pop ecx
inc dword [ecx]
add al, byte [esi]
pop es
or dword [ebx], ecx
or al, 0x3d
iretd
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
and eax, edx
mov edx, dword [ebp - 0xa8]
and ecx, esi
mov esi, dword [ebp - 0xa4]
or eax, edx
mov edx, dword [ebp + 8]
or ecx, esi
mov esi, dword [edx + 0xc]
mov edx, dword [ebp - 4]
or eax, 0x7bba
or ecx, 0x7acf
xor eax, 0x4e523ab5
xor ecx, 0x323333ba
cmp dword [edx + esi], eax
jne 0x410909
cmp dword [edx + esi + 4], ecx
jne 0x410909
mov dword [ebp - 0x34], 0x6f33
mov dword [ebp - 0x24], 0x3f91
mov dword [ebp + 8], 0x5635
mov dword [ebp - 0xc8], 0x666e6daf
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xb0], 0x6d13
mov dword [ebp - 0xac], 0x763a
mov dword [ebp - 0xb8], 0x1b3
mov dword [ebp - 0xb4], 0x7cdf
mov dword [ebp - 0xc0], 0xfce
mov dword [ebp - 0xbc], 0x5362
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov eax, 0x49e
sub eax, ecx
mov ecx, 0x3dc4
sbb ecx, edx
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xbc]
add eax, edx
mov edx, dword [ebp - 0xb8]
adc ecx, esi
mov esi, dword [ebp - 0xb4]
add eax, edx
mov edx, dword [ebp - 0xc8]
adc ecx, esi
mov esi, dword [ebp - 0xc4]
push esi
push edx
push ecx
push eax
call fcn.0040632e
mov edx, dword [ebp + 8]
mov ecx, 0x6c64e0d8
sub ecx, eax
mov eax, 0x2782
sub eax, edx
mov edx, dword [ebp - 0x24]
imul eax, edx
mov edx, dword [ebp - 0x34]
imul eax, eax, 0x3d5c
xor eax, edx
mov dword [ebp + eax*4 + 0x59755b4], ecx
mov dword [ebp - 0x5c], 0x1550
mov dword [ebp - 0x4c], 0x6551
mov dword [ebp - 0x34], 0x513f
mov dword [ebp - 0x24], 0x676b
mov dword [ebp + 8], 0x2f3c
mov dword [ebp - 0xe0], 0x445b
mov dword [ebp - 0xdc], 0x4495
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
and eax, 0x45bd
imul eax, eax, 0xfb5
and edx, ecx
add edx, dword [ebp - 0x34]
add eax, 0x3cfa
add edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
or eax, 0x4bae
and edx, 0x4b69
sub eax, 0x42ddb43
or edx, ecx
mov dword [ebp + edx*4 - 0x176ac], eax
mov eax, dword [ebp - 4]
lea edx, [ebp - 0xd0]
push edx
push eax
call fcn.0040cb90
mov dword [ebp - 4], eax
mov dword [ebp - 0x98], 0x5462
mov dword [ebp - 0x94], 0x6e0d
mov dword [ebp - 0xf0], 0x653e
mov dword [ebp - 0xec], 0x625f
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x98]
add ecx, 0x1f3
adc edx, 0xffffdd4f
mov esi, dword [ebp - 0x94]
xor ecx, eax
xor edx, esi
xor ecx, 0x14cb
xor edx, 0xffffe902
add ecx, 0xfffff376
adc edx, 0xffffe79a
and ecx, 0x54a6
mov dword [ebp - 0x30], ecx
and edx, 0x6cd1
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x48], 0x6526
mov dword [ebp - 0x44], 0x7324
mov dword [ebp - 0x78], 0x5ef
mov dword [ebp - 0x74], 0x1053
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, 0x1594
sub eax, ecx
push 0x4859
mov ecx, 0x320a
push 0x3b79
sbb ecx, edx
push ecx
push eax
call fcn.00406328
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add eax, 0x2161
adc edx, 0x5711
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edx, esi
mov esi, dword [ebp - 0x2c]
or eax, 0x1dc9
or edx, 0x12bd
cmp ecx, eax
jne 0x4109e5
cmp esi, edx
jne 0x4109e5
mov edx, dword [0xa1cec958]
mov dword [ebp - 0x4c], 0x4ac2
mov dword [ebp - 0x34], 0x24c62
mov dword [ebp - 0x24], 0x39d0
mov dword [ebp + 8], 0x62d2
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
sub eax, ecx
mov ecx, dword [ebp - 0x34]
push edx
xor edx, edx
div ecx
mov edx, dword [ebp - 0x4c]
or eax, 0x7750
and eax, edx
mov eax, dword [eax - 0xd1a5b0]
push eax
call dword [0x414030]
mov dword [ebp - 0xc], 0x42d7
mov dword [ebp - 0x5c], 0x1150
mov dword [ebp - 0x4c], 0x2f5c
mov dword [ebp - 0x34], 0x1f88
mov dword [ebp - 0x24], 0x63b
mov dword [ebp + 8], 0x142c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
xor ecx, 0x2295
and ecx, edx
mov edx, dword [ebp - 0x4c]
imul ecx, eax
and ecx, edx
mov eax, dword [ecx + 0x4ed1e5d0]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xc]
add ecx, 0x3d6b
xor ecx, edx
add ecx, 0x4b31
xor ecx, 0x4665
imul ecx, ecx, 0x7dc8
push eax
xor ecx, 0x60d78d66
mov eax, dword [ecx]
push eax
call dword [0x4140a0]
mov dword [ebp - 0xc], 0x7c90
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x4c], 0x66aa
mov dword [ebp - 0x34], 0x4456
mov dword [ebp - 0x24], 0x605d
mov dword [ebp + 8], 0x5f68
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
or ecx, 0x71d
add ecx, 0x3b3
and ecx, 0x164c
mov edx, dword [ecx + 0x7525dc57]
mov ecx, dword [ebp - 0x4c]
and eax, 0x6620
or eax, ecx
mov ecx, dword [ebp - 0x5c]
push edx
xor edx, edx
div ecx
mov edx, dword [ebp - 0xc]
xor eax, edx
or eax, 0x173b
xor eax, 0xcaf08954
mov eax, dword [eax]
push eax
call dword [0x4140d0]
dec edx
ja 0x410536
rol byte [ebx], 1
or dword [eax - 0x1a], 0x4911f44d
add dword [edx], eax
push es
pop es
or dword [ebx], ecx
or al, 0x43
iretd
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], 0x5e5a
mov dword [ebp - 0x24], 0x4148
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
or edx, 0x78ca
imul edx, edx, 0x13f0
or edx, eax
lea edx, [ecx + edx - 0x97c7f76]
mov dword [ebp + 8], edx
jmp 0x40f7c0
mov byte [ebp - 5], 0xa6
mov byte [ebp + 0xb], 0xdd
movzx eax, byte [ebp + 0xb]
mov cl, byte [ebp - 5]
and al, 9
sub al, cl
push 0
push 0x6b56d1b6
imul eax, eax, 0x84
mov byte [ebp + 0xb], al
mov dword [ebp - 0x48], 0x720a
mov dword [ebp - 0x44], 0x418a
mov dword [ebp - 0x30], 0x72f9
mov dword [ebp - 0x2c], 0x20bc
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push eax
push edx
call fcn.0040632e
push 0x7cb
push 0x3252
push edx
push eax
call fcn.00406328
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov byte [ebp - 5], 0xe1
mov byte [ebp + 0xb], 0x3c
mov dl, byte [ebp + 0xb]
movzx eax, byte [ebp - 5]
add dl, al
add dl, 0xd
movzx ecx, dl
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor ecx, 0xa8
mov byte [ebp + 0xb], cl
jmp 0x410a50
mov edx, 0x1946
mov word [ebp - 0x10], dx
mov eax, 0x7467
mov word [ebp - 0x1c], ax
mov word [ebp + 8], bx
movzx ecx, word [ebp + 8]
mov dx, word [ebp - 0x1c]
movzx eax, dx
cdq
idiv ecx
movzx ecx, word [ebp - 0x10]
mov dl, 0x9c
add eax, 0x570d
or eax, ecx
or eax, 0x2e0d
mov word [ebp + 8], ax
mov byte [ebp - 5], 0x9b
mov byte [ebp + 0xb], 0x58
movzx eax, byte [ebp + 0xb]
movzx ecx, byte [ebp - 5]
shr al, 1
sub al, 0x22
imul dl
add eax, ecx
mov byte [ebp + 0xb], al
mov byte [ebp + 0xb], 0x95
movzx edx, byte [ebp + 0xb]
sub dl, 0xd
shr edx, 1
and edx, 0x25
imul edx, edx, 0x63
mov byte [ebp + 0xb], dl
mov dword [ebp - 0x78], 0x6a14
mov dword [ebp - 0x74], 0x51cd
mov dword [ebp - 0x48], 0x5564
mov dword [ebp - 0x44], 0x34a7
mov dword [ebp - 0x30], 0x553c
mov dword [ebp - 0x2c], 0x504
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add eax, 0x14d7
adc ecx, 0x6a21
or ecx, 0x4d04
or eax, 0x469
add eax, 0x2ba7
adc ecx, 0x1dad
xor eax, edx
mov edx, dword [ebp - 0x78]
xor ecx, esi
mov esi, dword [ebp - 0x74]
and eax, edx
mov dword [ebp - 0x98], eax
and ecx, esi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x78], 0x7d01
mov dword [ebp - 0x74], 0x672d
mov dword [ebp - 0x48], 0x2f3
mov dword [ebp - 0x44], 0x10ef
mov dword [ebp - 0x30], 0x8b6
mov dword [ebp - 0x2c], 0x3053
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add eax, 0xa59
push 0x56f6
adc ecx, 0x7479
push 0x1f98
or ecx, esi
or eax, edx
push ecx
push eax
call fcn.00406328
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
sub eax, ecx
mov ecx, dword [ebp - 0x98]
sbb edx, esi
cmp dword [ebp - 0x94], edx
jb 0x410f29
ja 0x410b3d
cmp ecx, eax
jb 0x410f29
mov dword [ebp - 0x24], 0x778f
mov dword [ebp + 0xc], 0x7b6f
mov dword [ebp + 8], 0x391e
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
and edx, 0x2c61
imul edx, eax
add edx, 0x3b6b
xor edx, ecx
mov edx, dword [edx + 0x9e4d4aa]
push edx
call dword [0x41400c]
xchg esi, ebx
clc
pop es
ret
mov dword [ebp - 0x48], 0x48c7
mov dword [ebp - 0x44], 0x3b5
mov dword [ebp - 0x30], 0x3857
mov dword [ebp - 0x2c], 0x1db4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push 0x2980
push 0x462f
xor eax, 0x3feb
xor edx, 0x5426
push eax
push edx
call fcn.00406328
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
and eax, 0x313b
xor eax, ecx
mov ecx, dword [ebp + 0xc]
and edx, 0x688f
xor edx, esi
xor eax, 0x1fd4
mov dword [ebp - 0x30], eax
xor edx, 0x6d7e
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, dword [edx + 0x3c]
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], 0x7319
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
xor ecx, 0x7cf0
add ecx, 0x1a07
xor ecx, 0x29f0
add eax, dword [edx + ecx*8 + 0x78]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
add edx, dword [ecx + 0x20]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x4c], 0x5b5a
mov dword [ebp - 0x34], 0x52b6
mov dword [ebp - 0x24], 0x6b0c
mov dword [ebp - 0x7c], 0xff4
mov dword [ebp - 0x9c], 0x59cc
mov dword [ebp - 0xa4], 0x4d7d
mov dword [ebp - 0x14], 0x37dd
mov dword [ebp - 0x5c], 0xd96
mov dword [ebp - 0xc], 0x3425
mov dword [ebp - 0x38], 0x2faa
mov dword [ebp - 0x20], 0x676f
mov dword [ebp - 0x70], 0x4e64
mov dword [ebp - 0x68], 0x417c
mov dword [ebp - 0x6c], 0x2387
mov dword [ebp - 0x50], 0x1f42
mov dword [ebp - 8], 0x6e6a
mov dword [ebp - 0x1c], 0x18c1
mov dword [ebp - 0x58], 0x6633
mov dword [ebp - 0x60], 0xa62
mov dword [ebp - 0x3c], 0x544b
mov dword [ebp - 0x18], 0x73d9
mov dword [ebp - 0x54], 0x2587
mov dword [ebp - 0xb4], 0x99d
mov dword [ebp - 0xc4], 0x56ab
mov dword [ebp - 0x64], 0x2ddd
mov dword [ebp - 0xac], 0x3830
mov dword [ebp - 0xbc], 0x1576
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
xor ecx, 0x15cd
or ecx, edx
or ecx, eax
sub ecx, 0x7fff
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x18]
je 0x41128e
mov eax, dword [ebp - 0x5c]
mov ecx, 0x77e4
sub ecx, eax
add ecx, dword [ebp - 0xc]
mov eax, 0xb394d8f
imul ecx, ecx, 0xe1c
mul ecx
shr edx, 8
mov eax, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
xor eax, edx
mov edx, dword [ebp + 0xc]
xor eax, 0x55d9
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20]
add ecx, 0x5ee6
imul ecx, ecx, 0x7fae
xor ecx, 0x5239
mov edx, 0xaa5cdfa1
sub edx, ecx
add edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax], edx
jne 0x41125a
mov ecx, dword [ebp - 0x50]
xor ecx, 0xa70
add ecx, dword [ebp - 0x6c]
mov eax, 0x24924925
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x70]
shr ecx, 2
imul ecx, edx
sub ecx, eax
xor edx, edx
mov eax, 0x848e0d0
div ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x60]
and ecx, 0x66e6
add ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
imul ecx, edx
mov edx, dword [ebp - 8]
xor ecx, edx
mov edx, dword [ebp - 0x10]
imul ecx, ecx, 0x38ed
sub ecx, 0x39f573ee
cmp dword [edx + eax], ecx
jne 0x41125a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
or eax, 0x3bf8
xor eax, 0xd37e
shr eax, 1
xor eax, ecx
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + edx*4]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
xor edx, 0x942
sub edx, 0x65a4
imul edx, edx, 0x262
xor edx, 0x7109
add edx, 0x6ee93ac1
cmp dword [ecx + eax], edx
jne 0x41125a
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
imul eax, edx
mov edx, dword [ebp - 4]
imul eax, eax, 0x1404
or eax, ecx
mov ecx, dword [ebp + 0xc]
imul eax, eax, 0x3efa
add eax, dword [ecx + edx*4]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
imul edx, ecx
imul edx, edx, 0x1b4d
or edx, 0x1e99
mov ecx, 0x98ac4c1d
sub ecx, edx
mov edx, dword [ebp - 0x10]
cmp dword [edx + eax + 0x59e05cfa], ecx
je 0x4112df
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x7c]
xor eax, 0x5355
and eax, ecx
mov ecx, dword [ebp - 4]
and eax, edx
lea edx, [eax + ecx - 0x7ff]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x18]
jne 0x4110e5
mov dword [ebp - 0x8c], 0x1661
mov dword [ebp - 0x84], 0x256d
mov dword [ebp + 0xc], 0x7995
mov dword [ebp + 8], 0x6837
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
xor ecx, edx
mov edx, dword [ebp - 0x8c]
imul ecx, eax
xor ecx, edx
xor ecx, 0x34b4
mov eax, 0x293c92f
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x7c], 3
mov dword [ebp + 8], 0xade
mov dword [ebp + 0xc], 0x70ea
mov dword [ebp - 0x48], 0xada
mov dword [ebp - 0x44], 0xe3f
mov dword [ebp - 0x30], 0x55d
mov dword [ebp - 0x2c], 0x73da
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
add ecx, 0xffffa5db
adc esi, 0xffffd4ed
or ecx, edx
mov edx, dword [ebp + 8]
or esi, eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x7c]
or ecx, 0x8fb
or esi, 0x31aa
add ecx, 0x655470
adc esi, 0x6d8072
lea eax, [eax + edx + 0x4b47]
xor edx, edx
div edi
push 0x36cb
push 0xf57
xor eax, 0x425a
mov dword [ebp + eax*8 - 0x100], ecx
mov dword [ebp + eax*8 - 0xfc], esi
mov dword [ebp + 0xc], 0x3796
mov dword [ebp + 8], 0x3d09
mov dword [ebp - 0x78], 0x2ebb
mov dword [ebp - 0x74], 0x18cc
mov dword [ebp - 0x48], 0x18c9
mov dword [ebp - 0x44], 0x5bce
mov dword [ebp - 0x30], 0xe4b
mov dword [ebp - 0x2c], 0x3f18
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add ecx, 0x5363
adc edx, 0x2b71
push edx
push ecx
call fcn.00406328
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
and eax, ecx
mov ecx, dword [ebp - 0x78]
and edx, esi
mov esi, dword [ebp - 0x74]
push esi
push ecx
push edx
push eax
call fcn.00406328
mov ecx, eax
mov eax, dword [ebp + 8]
add ecx, 0x6c0065
adc edx, 0xf46a6cdb
sub eax, 0x7c
and eax, 0x257
add eax, dword [ebp + 0xc]
add eax, eax
add eax, eax
lea esi, [eax + eax]
lea eax, [ebp + 0x1bbe0]
sub eax, esi
mov dword [eax], ecx
mov dword [eax + 4], edx
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xe4], ecx
mov edx, 0x56b9
mov word [ebp - 0x1c], dx
mov eax, 0x1bd
mov word [ebp + 0xc], ax
mov ecx, 0x3129
mov word [ebp + 8], cx
movzx edx, word [ebp + 8]
mov eax, 0x19fa
imul dx, ax
movzx eax, word [ebp + 0xc]
mov ecx, 0x696b
or dx, cx
mov cx, word [ebp - 0x1c]
imul dx, ax
sub dx, cx
mov ecx, 0x1319
sub edx, 0x6236
mov word [ebp - 0xe8], dx
mov edx, 0x56b
mov word [ebp + 8], dx
movzx eax, word [ebp + 8]
add ax, cx
movzx edx, ax
or edx, 0xca66
shr edx, 1
add edx, 0x929f
mov word [ebp - 0xe6], dx
mov dword [ebp - 0xa4], 0x146e
mov dword [ebp - 0x9c], 0x103c
mov dword [ebp - 0x7c], 0x37a4
mov dword [ebp + 0xc], 0x6264
mov dword [ebp + 8], 0x13b8
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x8c]
movzx eax, word [ecx + eax*2]
lea edx, [ebp - 0xd4]
push edx
mov edx, dword [ebp + 8]
sub edx, 0x1642
xor edx, 0xffffff7f
and edx, 0x34c4
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp - 0x7c]
or ecx, 0x1964
imul ecx, edx
mov edx, dword [ebp - 0x9c]
imul ecx, edx
mov edx, dword [ebp - 0xa4]
and ecx, edx
sub ecx, 0x40
add eax, eax
push ecx
mov ecx, dword [ebp - 0x84]
add eax, eax
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x10]
call edx
mov eax, dword [ebp - 0xd4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8