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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov eax, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [0x4c9838]
xor eax, ebp
mov dword [esp + 0xc8], eax
push dword [ebp + 0xc]
call fcn.004a69b0
add esp, 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [ecx + eax + 0x20]
mov ecx, 0x62d2395d
mov eax, 0x2f045170
not ecx
mov dword [esp + 0x5c], ecx
mov ecx, 0xd57ac69
not ecx
mov dword [esp + 0x58], ecx
movsd qword [esp + 0x78], xmm0
nop word cs:[eax + eax]
nop
cmp eax, 0xf02ef1b5
jg 0x40d360
cmp eax, 0xc33641b8
jg 0x40d620
cmp eax, 0xa68c5efc
jle 0x40d7b8
cmp eax, 0xb5a97bf2
jg 0x40da75
cmp eax, 0xafdc8767
jg 0x40e0c2
cmp eax, 0xa68c5efd
je 0x40ec55
cmp eax, 0xa8cb7f7e
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0xc0]
mov eax, dword [ecx + eax + 0xc]
mov ebx, eax
mov dword [esp + 0x54], edi
or ebx, 0x498041a1
mov ecx, ebx
mov edx, ebx
not ecx
and edx, 0x11fdb86d
and ecx, 0xa6020612
or ecx, edx
mov edx, eax
xor edx, 0xb67fbe5e
and edx, eax
mov esi, edx
and edx, 0xee024792
not esi
or ebx, esi
and esi, 0x11fdb86d
or edx, esi
not ebx
xor edx, ecx
or ebx, edx
mov ecx, ebx
and ebx, 0xb67fbe5e
not ecx
and ecx, 0x498041a1
or ebx, ecx
mov edx, ebx
mov ecx, ebx
mov dword [esp + 0xc], ebx
mov ebx, eax
and eax, 0xf7ba9f0b
not edx
and ecx, 0x385f2ae
not ebx
mov esi, edx
mov dword [esp + 8], edx
and edx, 0xf7ba9f0b
and esi, 0xfc7a0d51
or esi, ecx
xor esi, 0xf43f6da5
or edx, esi
mov esi, edi
mov ecx, edx
and edx, 0x30eca7fb
xor esi, 0xf7ba9f0b
not ecx
and ecx, 0xcf135804
or edx, ecx
mov ecx, ebx
and ecx, 0x84560f4
or eax, ecx
mov ecx, edi
xor ebx, eax
and ebx, eax
mov eax, edi
and eax, 0xf7ba9f0b
mov dword [esp + 0x48], ebx
or esi, eax
mov eax, esi
and esi, 0x3ab7bf4
not eax
and eax, 0xfc54840b
or esi, eax
mov dword [esp + 0x4c], esi
mov esi, edi
not esi
mov eax, esi
mov edi, esi
mov dword [esp + 0x50], esi
mov esi, ecx
and eax, 0x1a876fc0
and esi, 0xe578903f
or esi, eax
xor esi, 0x12c20f34
mov eax, esi
xor eax, edi
mov edi, edx
xor edx, 0xcf135804
and eax, esi
xor edi, 0x8c0188
mov dword [esp], eax
mov eax, edx
and edi, 0x4c8c518c
or edx, 0x3a8df495
and eax, 0xb373ae73
or edi, eax
mov dword [esp + 4], edi
xor edi, 0xb373ae73
mov esi, edi
or esi, 0xc5720b6a
mov eax, esi
and esi, 0x37ed1661
not eax
and eax, 0x800e094
or eax, esi
mov esi, edx
and edx, 0x37ed1661
not esi
and esi, 0xc012090a
or esi, edx
xor esi, eax
mov eax, ebx
not ebx
or eax, 0xc5720b6a
mov edx, eax
and eax, 0xcfd588e9
not edx
and edx, 0x30087414
or edx, eax
mov eax, ebx
and ebx, 0x85e589b8
or eax, 0x3a8df495
mov ecx, eax
and eax, 0xcfd588e9
not ecx
and ecx, 0x220302
or ecx, eax
mov eax, esi
and esi, 0x2165aa27
not eax
xor ecx, edx
mov edx, dword [esp + 4]
and eax, 0xde9a55d8
or esi, eax
mov eax, ecx
and ecx, 0x2165aa27
not eax
and eax, 0xde9a55d8
xor edx, 0x4840188
or ecx, eax
mov eax, edi
and edx, 0x85e589b8
and eax, 0x7a1a7647
xor ecx, esi
or edx, eax
mov eax, dword [esp + 0x48]
or edi, eax
and eax, 0x7a1a7647
or ebx, eax
not edi
xor ebx, edx
or edi, ebx
mov eax, edi
and edi, 0xfae3eaff
not eax
and eax, 0x51c1500
or edi, eax
mov eax, ecx
xor edi, 0xfae3eaff
and eax, edi
xor edi, ecx
or edi, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], edi
mov edi, dword [esp]
mov edx, eax
xor eax, 0x4500402
and eax, 0x5db77f2
xor edx, 0x3ab7bf4
mov ebx, edi
xor edi, 0x7c149aa3
mov ecx, eax
mov eax, edx
not ebx
and edx, 0x83eb655c
and eax, 0xfa24880d
and edi, ebx
or eax, ecx
mov ecx, eax
xor eax, 0x79cfed51
xor ecx, 0xfa24880d
and eax, ecx
mov esi, eax
and esi, edx
xor edx, eax
or edx, esi
mov esi, edi
and edi, 0x624b91fe
not esi
mov eax, esi
and eax, 0x9db46e01
or edi, eax
mov eax, ebx
or eax, 0x7c149aa3
mov dword [esp], edi
mov edi, eax
or esi, eax
and eax, 0x9db46e01
not edi
not esi
and edi, 0x24b015c
or edi, eax
mov eax, edx
and edx, 0x28db99b2
xor edi, dword [esp]
not eax
and eax, 0xd724664d
or edx, eax
or esi, edi
mov edi, dword [esp + 0x50]
mov eax, esi
and esi, 0x28db99b2
not eax
and eax, 0xd724664d
or esi, eax
mov eax, ecx
and edi, 0x4736e63c
xor esi, edx
and eax, ebx
xor ebx, ecx
mov edx, dword [esp + 4]
mov ecx, esi
or ebx, eax
and esi, 0x557b5df9
not ecx
mov eax, ecx
or ecx, ebx
and eax, 0xaa84a206
not ecx
not edx
or esi, eax
mov eax, ebx
and ebx, 0xaa84a206
not eax
and eax, 0x557b5df9
or eax, ebx
mov ebx, dword [esp + 0x54]
xor eax, esi
mov esi, edx
or ecx, eax
mov eax, edx
xor eax, ecx
mov edx, ecx
not eax
not edx
and eax, ecx
and edx, 0xe3eb70bb
and ecx, 0x1c148f44
or ecx, edx
xor ecx, 0xe3eb70bb
or ecx, esi
mov esi, eax
and eax, 0x9c670378
not esi
mov edx, esi
or esi, ecx
and edx, 0x6398fc87
not esi
or eax, edx
mov edx, ecx
and ecx, 0x6398fc87
not edx
and edx, 0x9c670378
or edx, ecx
xor edx, eax
mov eax, dword [esp + 8]
or esi, edx
mov dword [esp], esi
mov esi, dword [esp + 0xc]
and eax, 0xa177b6c6
mov ecx, esi
and esi, 0x23a1a823
and ecx, 0x5e884939
or ecx, eax
mov eax, ebx
or ebx, 0xdc5e57dc
and eax, 0xb8c919c3
xor ecx, 0x5e884939
or edi, eax
mov edx, ecx
mov eax, edi
xor edi, 0x984811c0
xor eax, 0x4736e63c
or edi, 0x23a1a823
and edx, eax
xor eax, ecx
and ecx, 0xdc5e57dc
or esi, ecx
mov ecx, edi
and edi, 0xd75f8f92
or eax, edx
not ecx
and ecx, 0x800504c
or ecx, edi
mov edi, ebx
and ebx, 0xd75f8f92
not edi
and edi, 0x20a02021
or edi, ebx
xor edi, ecx
mov ecx, esi
not ecx
and ecx, edi
not edi
and edi, esi
or edi, ecx
mov ecx, eax
and eax, 0x939eece2
not ecx
and ecx, 0x6c61131d
or eax, ecx
mov ecx, edi
xor eax, 0x939eece2
and ecx, eax
xor eax, edi
or eax, ecx
mov ecx, eax
and eax, 0x115727c7
not ecx
and ecx, 0xeea8d838
or eax, ecx
mov ecx, eax
xor eax, 0xea884830
xor ecx, 0x5103c3
and eax, 0xfb8e6c34
and ecx, 0x47193cb
or ecx, eax
mov eax, ecx
xor ecx, 0x1000c3
xor eax, 0x28a4410
and ecx, 0xf91428e7
and eax, 0x6ebd718
or eax, ecx
mov ecx, eax
xor eax, 0xa01028c6
xor ecx, 0x2c1c710
and eax, 0xa43a38ce
and ecx, 0x5bc5c731
or ecx, eax
mov edx, ecx
xor ecx, 0x52048420
xor edx, 0x24021842
and ecx, 0xd23ca4ac
and edx, 0x2dc35b53
or edx, ecx
mov esi, edx
xor edx, 0xd23ca4ac
mov eax, edx
xor esi, 0x2d425353
or edx, 0x4b1a16a
and eax, 0x82992ca4
and esi, 0x7d66d35b
or esi, eax
mov eax, dword [esp]
mov dword [esp + 8], esi
mov ecx, eax
xor eax, 0x4b1a16a
not ecx
mov edi, eax
and eax, dword [esp]
and edi, ecx
mov dword [esp + 0xc], ecx
mov ebx, edi
and edi, 0xc497621c
not ebx
mov ecx, ebx
and ecx, 0x3b689de3
or edi, ecx
mov ecx, eax
and eax, 0xc497621c
not ecx
or ebx, ecx
and ecx, 0x3b689de3
or eax, ecx
mov ecx, esi
xor esi, 0x7d66d35b
not ebx
xor ecx, 0x86288dce
xor eax, edi
and ecx, esi
or ebx, eax
and esi, 0x6ba00e42
mov edi, ecx
and ecx, 0xd647039c
not edi
mov eax, edi
or edi, edx
and eax, 0x29b8fc63
not edi
or ecx, eax
mov eax, edx
and edx, 0x29b8fc63
not eax
and eax, 0xd2460294
or eax, edx
mov edx, dword [esp + 0xc]
xor eax, ecx
mov ecx, dword [esp]
or edi, eax
mov eax, ebx
and ebx, 0x6d301002
not eax
and eax, 0x92cfeffd
and edx, 0x6ba00e42
or ebx, eax
mov eax, edi
and edi, 0x6d301002
not eax
and eax, 0x92cfeffd
or edi, eax
mov eax, ecx
and eax, 0x945ff1bd
xor edi, ebx
or edx, eax
mov eax, dword [esp + 8]
xor eax, 0x82992ca4
or ecx, eax
and eax, 0x945ff1bd
or esi, eax
not ecx
mov eax, edi
xor esi, edx
or ecx, esi
not ecx
and eax, ecx
xor ecx, edi
or ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x10]
push 0
push eax
call fcn.0043b630
lea ecx, [esp + 0x60]
call fcn.004397e0
mov eax, dword [esp + 0x88]
mov eax, 0xc33641b9
cmp eax, 0xf02ef1b5
jle 0x40cd5b
nop word [eax + eax]
cmp eax, 0x31a27dba
jg 0x40d480
cmp eax, 0xc7489a4
jle 0x40d804
cmp eax, 0x29ebe67e
jg 0x40dab3
cmp eax, 0x20503112
jg 0x40e1ab
cmp eax, 0xc7489a5
je 0x40ec6a
cmp eax, 0x12548c80
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0x5c0cd000
mov edx, eax
and eax, 0x78831ccf
and edx, 0x15302d6
or esi, edx
mov edx, ecx
xor esi, 0x5c0cd000
and edx, 0xa2a02d29
or edx, esi
mov esi, edx
and edx, 0x5d5fd2d7
not esi
and esi, 0xa2a02d28
or edx, esi
mov esi, edx
mov edi, edx
or edx, ecx
and ecx, 0x877ce330
not esi
and edi, 0x877ce330
or eax, ecx
mov ecx, dword [0x4ca6ac]
not edx
and esi, 0x78831ccf
or esi, edi
xor eax, esi
mov esi, 0xa8cb7f7e
or edx, eax
cmp edx, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
mov ch, ah
and dl, cl
and ch, al
or ch, dl
mov dl, ch
xor dl, cl
xor cl, al
not cl
and dl, ch
and cl, al
xor al, ah
xor dl, 1
and al, ah
mov ah, cl
xor cl, al
xor ah, 1
xor al, 1
or al, ah
xor al, 1
or al, cl
mov ecx, edx
xor al, 1
or cl, al
xor al, dl
mov edx, ecx
xor dl, al
test dl, 1
mov edx, 0xc33641b9
cmovne edx, esi
test al, 1
mov esi, 0xc33641b9
mov eax, edx
cmovne eax, esi
jmp 0x40eef1
cmp eax, 0x5d3ea021
jle 0x40d9b1
cmp eax, 0x7177ea52
jg 0x40dbbf
cmp eax, 0x6417c391
jg 0x40e1de
cmp eax, 0x5d3ea022
je 0x40ec87
cmp eax, 0x63a73846
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0x40000820
mov edx, eax
and eax, 0x2f31111e
and edx, 0x4012356
or esi, edx
mov edx, ecx
and ecx, 0xd0ceeee1
xor esi, 0x40000820
and edx, 0xbbfed489
or eax, ecx
or edx, esi
mov esi, edx
and edx, 0x8e937d98
not esi
and esi, 0x716c8267
or edx, esi
mov esi, edx
xor edx, 0x356da910
xor esi, 0xa10100e
mov edi, edx
and edi, 0xd0ceeee1
and esi, 0x2f31111e
or esi, edi
mov edi, dword [0x4ca6ac]
xor eax, esi
mov esi, 0xa68c5efd
xor edx, eax
test edx, eax
sete ah
setne dl
cmp edi, 0xa
setl cl
cmp edi, 9
mov edi, 0x7177ea53
setg al
mov ch, al
xor ch, cl
and ch, al
and al, ah
mov dh, ch
xor dh, 1
mov bl, dh
mov bh, dh
or dh, ch
and bl, ch
xor dh, 1
xor bh, bl
xor bl, 1
or bl, ch
xor bl, 1
or bl, bh
mov bh, dl
xor bl, 1
xor bh, ah
mov ch, bl
and bh, dl
and dl, cl
or cl, ah
and ch, dh
xor dh, bl
or al, dl
mov dl, cl
or dh, ch
mov ch, bh
xor dl, al
xor al, 1
not ch
or al, cl
xor dl, 1
and ch, bh
xor al, 1
mov bl, ch
xor ch, bh
or al, dl
and bl, bh
mov cl, al
or ch, bl
xor cl, 1
mov bl, ch
and al, cl
mov dl, cl
xor bl, 1
and dl, al
xor al, cl
and ch, bl
mov bh, bl
or al, dl
and bh, ch
xor ch, bl
mov dl, al
or ch, bh
xor dl, 1
mov bl, ch
xor ch, 1
and bl, dh
xor dh, 1
and ch, dh
or ch, bl
mov cl, ch
and dl, ch
xor cl, 1
and cl, al
or dl, cl
mov cl, ch
xor cl, al
or al, ch
xor al, 1
or al, cl
mov ecx, eax
xor cl, dl
test cl, 1
cmovne edi, esi
test al, 1
mov eax, 0x7177ea53
cmovne eax, edi
test dl, 1
cmove eax, edi
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xe21c29f6
jg 0x40da0d
cmp eax, 0xd4bb5e76
jg 0x40dc33
cmp eax, 0xcd1a268e
jg 0x40e37c
cmp eax, 0xc33641b9
je 0x40ec9c
cmp eax, 0xc44dc55d
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
and ecx, 0xb3b41150
mov esi, edx
and edx, 0x30a07673
and esi, 0x4486a26
or ecx, esi
mov esi, ecx
xor ecx, 0x4c4beeaf
xor esi, 0xa1b41010
mov edi, ecx
and edi, 0x5a0b83cc
and esi, 0xa5f47832
or esi, edi
mov edi, eax
xor edi, 0xb7fc7b76
and edi, eax
and eax, 0xcf5f898c
mov ebx, edi
and edi, 0xa5f47c33
or eax, edx
not ebx
or ecx, ebx
and ebx, 0x5a0b83cc
or edi, ebx
not ecx
xor edi, esi
or ecx, edi
mov esi, ecx
and ecx, 0xb7fc7b77
not esi
and esi, 0x48038488
or ecx, esi
mov edx, ecx
and ecx, 0xc97b4bc9
not edx
mov esi, edx
and esi, 0x3684b436
or ecx, esi
mov esi, eax
xor eax, 0x30803432
xor esi, 0xc95b0988
and eax, 0x3684b436
and esi, 0xc97b4bc9
or esi, eax
mov eax, dword [0x4ca6ac]
xor esi, ecx
not esi
or esi, edx
cmp esi, 0xffffffff
mov esi, 0x40f145ae
setne dl
sete ch
cmp eax, 0xa
setl dh
cmp eax, 9
setg al
and dh, dl
mov ah, al
mov ebx, eax
xor ah, ch
or bl, ch
mov cl, ah
and ah, al
and al, ch
mov bh, bl
or al, dh
mov dl, ah
not cl
and dl, al
xor al, ah
and cl, ch
or al, dl
xor bh, cl
xor cl, 1
mov edx, eax
or cl, bl
xor bh, 1
xor dl, 1
xor cl, 1
and al, dl
mov ah, dl
or cl, bh
and ah, al
xor al, dl
mov ch, cl
or al, ah
xor ch, 1
mov edx, eax
and al, ch
xor dl, 1
or ch, dl
and dl, cl
or dl, al
mov cl, ch
mov eax, 0x40f145ae
xor cl, dl
test dl, 1
mov edx, 0x912e9a37
cmovne eax, edx
test ch, 1
cmovne eax, esi
jmp 0x40fda5
cmp eax, 0x90f2d765
jle 0x40dd1e
cmp eax, 0x9e2bb6e1
jg 0x40e459
cmp eax, 0x90f2d766
je 0x40ef07
cmp eax, 0x912e9a37
jne 0x40cd50
mov ecx, dword [esp + 0xbc]
mov eax, 0x20503113
mov dword [esp + 0x40], ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xfdcfb86a
jle 0x40de54
cmp eax, 0x4d01977
jg 0x40e57c
cmp eax, 0xfdcfb86b
je 0x40ef1c
cmp eax, 0x3633ae4
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax + 0x40]
push eax
call fcn.00439010
mov ecx, dword [0x4ca6a8]
cmp eax, 0xffffffff
sete byte [esp + 0x8e]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 0x319eb121
not ecx
and edx, eax
or eax, 0xce614ede
and ecx, 0x101e1101
mov esi, eax
and esi, 0xeda1a07e
or ecx, esi
mov esi, edx
and edx, 0x125e5f81
not esi
or eax, esi
and esi, 0xeda1a07e
or edx, esi
not eax
mov esi, 0xec1bbeb2
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x319eb121
not ecx
and ecx, 0xce614ede
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 1
not edx
and ecx, eax
and edx, 0x6972324d
and eax, 0x968dcdb2
or eax, edx
mov edx, ecx
xor eax, 0x968dcdb3
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
xor ecx, 0x2698c1bc
and ecx, eax
not eax
and eax, 0x2698c1bc
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x9afb79f6
not eax
and eax, 0x65048609
or ecx, eax
mov eax, ecx
xor ecx, 0x4630
xor eax, 0x24229808
and ecx, 0x98416672
and eax, 0x67be998d
or ecx, eax
xor ecx, 0x67be998d
cmp ecx, 0xffffffff
sete ah
cmp dword [0x4ca6ac], 0xa
setl ch
mov al, ch
mov cl, ch
or al, ah
xor cl, ah
xor al, 1
and ah, cl
or al, cl
and cl, ch
xor ah, 1
xor cl, 1
mov ch, ah
mov edx, eax
xor ch, cl
or cl, ah
xor dl, 1
xor cl, 1
and dl, al
or cl, ch
mov ch, al
mov ah, cl
and ch, dl
xor dl, al
xor ah, 1
or dl, ch
and cl, ah
mov ch, ah
and ch, cl
xor cl, ah
or cl, ch
mov ch, dl
xor ch, 1
and ch, cl
xor cl, 1
and cl, dl
mov edx, eax
and dl, ah
xor ah, al
or cl, ch
or ah, dl
mov dl, ah
xor dl, cl
test ah, 1
mov eax, 0x63a73846
cmovne eax, esi
test cl, 1
mov ecx, 0x63a73846
jmp 0x40f254
cmp eax, 0x40f145ad
jle 0x40de91
cmp eax, 0x479f9138
jg 0x40e5ca
cmp eax, 0x40f145ae
je 0x40f070
cmp eax, 0x41f29b3e
jne 0x40cd50
cmp byte [esp + 0x8f], 0
mov eax, 0xe9073488
mov ecx, 0x724e5910
cmovne eax, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x38], ecx
jmp 0x40dc18
cmp eax, 0xeb9bca75
jle 0x40df65
cmp eax, 0xed7c7d6f
jg 0x40e6e1
cmp eax, 0xeb9bca76
je 0x40f0a1
cmp eax, 0xec1bbeb2
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax + 0x40]
push eax
call fcn.00439010
mov eax, 0x3633ae4
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xbbff6d22
jg 0x40e83a
cmp eax, 0xb5a97bf3
je 0x40f25f
cmp eax, 0xb9281989
jne 0x40cd50
mov eax, 0xe9073488
mov dword [esp + 0x2c], 4
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0x2f04516f
jg 0x40e921
cmp eax, 0x29ebe67f
je 0x40f292
cmp eax, 0x2d14bb35
jne 0x40cd50
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
not edx
xor eax, 0xfffffffe
mov esi, edx
and eax, ecx
and edx, 0xb696a65f
and ecx, 0x496959a0
and esi, 0xfffffffe
or ecx, edx
mov edi, esi
and edi, eax
xor eax, esi
or eax, edi
mov edi, 0x4d01978
mov esi, eax
mov edx, eax
not esi
and edx, 0x13013aa2
and esi, 0xecfec55d
or esi, edx
mov edx, ecx
xor ecx, 0xb696a65f
xor edx, 0x48684100
or eax, ecx
and ecx, 0x13013aa2
and edx, 0xecfec55d
not eax
or edx, ecx
xor edx, esi
mov esi, 0x479f9139
or eax, edx
mov ecx, eax
and eax, 0xad5af6c0
not ecx
and ecx, 0x52a5093f
or eax, ecx
xor eax, 0xad5af6c0
sete al
cmp dword [0x4ca6ac], 0xa
setl cl
mov edx, ecx
mov ah, cl
or dl, al
xor ah, al
xor dl, 1
and al, ah
or dl, ah
and ah, cl
mov ecx, eax
and cl, ah
xor ah, al
or ah, cl
mov al, ah
and ah, dl
xor dl, 1
xor al, 1
mov ecx, edx
xor cl, al
and al, dl
or al, ah
and cl, dl
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x4d01978
cmovne eax, esi
test cl, cl
cmove eax, edi
test dl, 1
jmp 0x40df52
cmp eax, 0x7929f361
jg 0x40eafa
cmp eax, 0x7177ea53
je 0x40f2ce
cmp eax, 0x724e5910
jne 0x40cd50
mov eax, dword [esp + 0x3c]
mov ecx, 0x9e2bb6e2
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
xor eax, eax
cmp eax, dword [esp + 0xb0]
mov eax, 0
sbb eax, dword [esp + 0xb4]
mov eax, 0xe9073488
cmovl eax, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x2c], ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xda4147b6
je 0x40ff65
cmp eax, 0xd4bb5e77
je 0x40f469
cmp eax, 0xdbc242ba
jne 0x40cd50
mov eax, dword [0x4ca6a8]
mov esi, 0xeb9bca76
mov edi, 0x29ebe67f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xa30541a1
not eax
mov edx, eax
and edx, 0x5cfabe5e
or ecx, edx
mov edx, ecx
and ecx, 0x2f16a100
not edx
and edx, 0xd0e95eff
or ecx, edx
mov edx, ecx
xor ecx, 0x8c102020
xor edx, 0x41840113
and ecx, 0xbe783e6c
and edx, 0x4187c193
or edx, ecx
xor edx, 0x4187c193
mov ecx, edx
xor edx, eax
and ecx, eax
mov eax, dword [0x4ca6ac]
or edx, ecx
cmp edx, 0xffffffff
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
and ch, cl
mov ah, al
xor ah, dl
and dl, al
and ah, al
xor al, cl
or ch, dl
xor ah, 1
xor al, 1
mov dl, ch
mov cl, ah
xor cl, al
or al, ah
xor al, 1
or al, cl
mov cl, al
xor dl, al
and al, ch
and dl, ch
not cl
xor ch, 1
and ch, cl
mov cl, dl
or al, ch
xor cl, al
test al, al
mov eax, 0x29ebe67f
cmovne eax, esi
test dl, dl
cmove eax, edi
test cl, 1
jmp 0x40df52
cmp eax, 0x84853935
je 0x40f58d
cmp eax, 0x87f8d04a
je 0x40f5a4
cmp eax, 0x8971a60e
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x14]
mov edx, ecx
mov eax, ecx
xor edx, 0xf6534f00
and eax, 0xaee0def6
and edx, ecx
not ecx
and ecx, 0x511f2109
mov esi, edx
and edx, 0x788ff073
or eax, ecx
not esi
mov ecx, eax
xor eax, 0x50130100
or eax, 0x9acb0ff
xor ecx, 0x20004000
mov edi, eax
or eax, esi
and esi, 0x87700f8c
and ecx, 0x70034000
and edi, 0x87700f8c
or edx, esi
not eax
or ecx, edi
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xf6534f00
not ecx
and ecx, 0x9acb0ff
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 0x1c0
not edx
and ecx, eax
and edx, 0x96131762
and eax, 0x69ece89d
or eax, edx
mov edx, ecx
xor eax, 0x69ece95d
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
xor ecx, 0xcea53ccf
and ecx, eax
not eax
and eax, 0xcea53ccf
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x1a5f53e3
not eax
and eax, 0xe5a0ac1c
or ecx, eax
mov eax, 0xe5f0e7e1
xor ecx, 0xd4fa6f2c
cmp ecx, 0x40
mov ecx, 0xaad5e0f
cmove eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x94]
jmp 0x40f6b3
cmp eax, 0xf02ef1b6
je 0x40f5d0
cmp eax, 0xfb60a79d
je 0x40f684
cmp eax, 0xfcf37d03
jne 0x40cd50
mov eax, dword [esp + 0xac]
mov eax, 0xb3e6cf87
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0x31a27dbb
je 0x40f6c7
cmp eax, 0x397d745c
je 0x40f6dc
cmp eax, 0x3dbb4b64
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0x28afd62a
mov edx, eax
and edx, 0xd75029d4
or esi, edx
mov edx, ecx
xor edx, 0xfffffffe
xor esi, 0x28afd62a
and edx, ecx
mov edi, esi
and edi, edx
xor edx, esi
or edx, edi
mov esi, edx
and edx, ecx
not esi
and eax, esi
or edx, eax
mov eax, dword [0x4ca6ac]
xor esi, edx
test esi, edx
mov esi, 0xf02ef1b6
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
or ch, cl
mov al, dh
xor ch, 1
xor al, dl
mov cl, ch
xor al, 1
or al, dh
or dh, dl
xor dh, 1
mov dl, al
and cl, dh
xor dh, ch
or dh, cl
xor dl, dh
xor dh, 1
or dh, al
mov eax, edx
xor al, dh
not al
test al, 1
mov eax, 0xdbc242ba
cmovne esi, eax
test dl, dl
mov eax, 0xf02ef1b6
cmovne eax, esi
test dh, 1
cmovne eax, esi
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xe21c29f7
je 0x40f71a
cmp eax, 0xe5f0e7e1
je 0x40f72f
cmp eax, 0xe9073488
jne 0x40cd50
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
xor esi, 0xbda5b2f5
mov edx, ecx
and esi, eax
and ecx, 0x49bf6ddc
and eax, 0xb6409223
and edx, 0xbda5b2f5
or eax, ecx
mov edi, edx
xor eax, 0xb6409223
and edi, esi
xor esi, edx
or esi, edi
mov edx, esi
and esi, 0x7bcb6351
not edx
and edx, 0x84349cae
or esi, edx
mov edx, esi
xor esi, 0x10810a4a
xor edx, 0x6285004
and esi, 0xd0c78beb
and edx, 0x2f387414
or edx, esi
mov esi, 0xc44dc55d
xor edx, 0x2f387414
mov ecx, edx
and ecx, eax
xor eax, edx
mov edx, dword [0x4ca6ac]
or eax, ecx
mov ecx, eax
and eax, 0x9602c9
not ecx
and ecx, 0xff69fd36
or eax, ecx
xor eax, 0x9602c9
setne cl
sete ah
cmp edx, 9
setg ch
cmp edx, 0xa
setl al
xor ch, cl
mov edx, eax
xor ch, 1
xor dl, ah
mov cl, ch
mov dh, dl
and dh, al
and al, ah
or al, dl
and dl, ah
mov ah, dl
xor cl, al
or al, ch
and ah, dh
xor dh, dl
xor al, 1
or dh, ah
or al, cl
mov dl, dh
mov ah, dh
mov ecx, eax
xor dl, 1
xor cl, 1
and ah, dl
mov ch, ah
xor ah, dh
and ch, dh
mov dh, cl
and dh, al
or ah, ch
mov ch, dh
xor dh, cl
mov cl, dl
xor dl, al
xor ch, 1
and cl, al
or ch, al
or dl, cl
xor ch, 1
mov al, dl
or ch, dh
xor ch, ah
xor al, ch
test al, 1
mov eax, 0x40f145ae
cmovne esi, eax
test dl, 1
mov edx, dword [esp + 0x2c]
mov eax, 0xc44dc55d
cmovne eax, esi
test ch, 1
cmove eax, esi
mov dword [esp + 0xbc], edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xafdc8768
je 0x40f80d
cmp eax, 0xb3e6cf87
jne 0x40cd50
cmp dword [esp + 0xac], 0
mov ecx, dword [0x4ca6a8]
mov esi, 0xfcf37d03
lea eax, [ecx - 1]
sete byte [esp + 0x8f]
imul eax, ecx
mov ecx, eax
or ecx, 1
mov edx, ecx
and ecx, 0xb605ff78
not edx
and edx, 0x49fa0086
or edx, ecx
mov ecx, eax
or ecx, 0xb605ff78
and ecx, 0xb605ff79
xor ecx, edx
mov edx, ecx
and ecx, 0xb6c0bf31
not edx
and edx, 0x493f40ce
or ecx, edx
mov edx, eax
and eax, 0x983731be
not edx
xor ecx, 0xb6c0bf31
and edx, 0x67c8ce41
or eax, edx
mov edx, ecx
xor eax, 0x983731be
and edx, eax
xor eax, ecx
mov ecx, dword [0x4ca6ac]
or eax, edx
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
mov ch, ah
xor ah, al
and ch, al
and dl, cl
mov al, ah
or ch, dl
xor al, 1
mov edx, 0x6cc8e831
xor cl, ch
and cl, ch
xor ah, cl
xor cl, 1
or cl, al
mov al, cl
xor al, ah
test al, 1
cmovne edx, esi
test ah, ah
mov esi, 0x6cc8e831
mov eax, edx
cmovne eax, esi
test cl, cl
jmp 0x40eef4
cmp eax, 0x20503113
je 0x40f838
cmp eax, 0x2491be4f
jne 0x40cd50
mov eax, 0x7929f362
mov dword [esp + 0x24], 4
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0x6417c392
je 0x40f8ff
cmp eax, 0x6cc8e831
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xdaab60a7
not eax
and eax, 0x25549f58
or ecx, eax
mov eax, ecx
xor ecx, 0x5541640
xor eax, 0xa16086
and ecx, 0xdf5e1661
and eax, 0x20a1e99e
or eax, ecx
mov edx, eax
mov ecx, eax
xor eax, 0xa14006
xor edx, 0xdf5e1661
xor ecx, 0xdf5e1660
and eax, 0x15ad5606
and ecx, edx
and edx, 0xea52a9f9
or edx, eax
mov eax, ecx
and ecx, 0x61e97b0f
not eax
mov esi, eax
and esi, 0x9e1684f0
or ecx, esi
mov esi, edx
xor edx, 0x15ad5607
xor esi, 0x60402908
or eax, edx
and edx, 0x9e1684f0
and esi, 0x61e97b0f
not eax
or esi, edx
xor esi, ecx
or eax, esi
mov esi, 0x5d3ea022
mov ecx, eax
and eax, 0x1fcc5aa8
not ecx
mov edx, ecx
or ecx, 0x7035dec6
and edx, 0xe033a557
or eax, edx
mov edx, eax
xor eax, 0x60308442
xor edx, 0x44880
or eax, 0x8b882001
and eax, 0xfbb8b643
and edx, 0x54884
or edx, eax
mov eax, ecx
and ecx, 0xfbb8b643
not eax
and eax, 0x4420138
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0x5c521f02
not ecx
and ecx, 0xa3ade0fd
or eax, ecx
mov ecx, eax
xor eax, 0x9288160b
xor ecx, 0x4034180
and eax, 0xbaec964f
and ecx, 0x451369b0
or ecx, eax
mov eax, ecx
xor ecx, 0xb2048406
xor eax, 0x10240a0
and ecx, 0xf615ad16
and eax, 0x9ea52e9
or eax, ecx
mov ecx, dword [0x4ca6ac]
xor eax, 0x9ea52e9
sete al
setne dl
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
or dh, al
or dl, cl
mov ah, dh
or dh, dl
xor ah, dl
mov dl, cl
xor cl, al
or dl, al
xor dh, 1
xor dl, 1
or dh, ah
mov eax, edx
and al, cl
xor cl, dl
or cl, al
mov eax, 0xfdcfb86b
xor cl, dh
and dh, cl
mov dl, cl
xor dl, dh
test cl, cl
cmovne eax, esi
test dh, dh
cmove eax, esi
test dl, 1
mov edx, 0xfdcfb86b
jmp 0x40fda8
cmp eax, 0xcd1a268f
je 0x40fb75
cmp eax, 0xcf0cacf4
jne 0x40cd50
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 1
xor esi, 0xfffffffe
mov edx, ecx
mov edi, ecx
and esi, eax
not edx
and edi, 0xf5c68731
and edx, 0xa3978ce
or edx, edi
mov edi, esi
and esi, 0xa3978ce
not edi
or ecx, edi
and edi, 0xf5c68731
or esi, edi
not ecx
mov edi, 0xdbc242ba
xor esi, edx
or ecx, esi
mov edx, ecx
and ecx, 0xc82d59d1
not edx
mov esi, edx
and esi, 0x37d2a62e
or ecx, esi
mov esi, eax
and eax, 0x37d2a62e
not esi
and esi, 0xc82d59d1
or esi, eax
xor esi, ecx
xor edx, esi
test edx, esi
mov esi, 0x84853935
setne al
sete cl
cmp dword [0x4ca6ac], 0xa
setl dl
mov ah, dl
or al, dl
or ah, cl
xor cl, dl
xor al, 1
xor ah, 1
or ah, cl
and cl, dl
mov edx, eax
and dl, cl
xor cl, al
or cl, dl
mov dl, ah
xor cl, 1
or dl, cl
xor cl, ah
mov eax, 0xdbc242ba
mov ch, cl
xor ch, dl
test cl, 1
cmovne eax, esi
test dl, 1
cmovne eax, edi
jmp 0x40ec4d
cmp eax, 0x9e2bb6e2
je 0x40fba0
cmp eax, 0xa4179ef1
jne 0x40cd50
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov eax, 0x2aecd0a4
mov edi, 0xb247114f
mov esi, 0x43d23364
add ecx, eax
mov eax, 0xb247114f
adc edx, eax
add ecx, 0x70c265c6
mov eax, 0x2aecd0a4
adc edx, 0x85accdb6
sub eax, ecx
sbb edi, edx
add eax, 0x70c265c6
mov edx, 0x7dccc86d
adc edi, 0x85accdb6
add edx, 0xb20bccb2
adc esi, 0x89866293
add edx, 0x36f54a04
add esi, 0x3c35971
sub edx, 0x2fd8951e
sbb esi, 0xcd5895f8
sub edx, 0x36f54a04
sbb esi, 0x3c35971
add eax, 0x76806949
adc edi, 0xd782d2f4
add eax, 0x1df6739a
adc edi, 0x486e32af
sub eax, 0x76806949
sbb edi, 0xd782d2f4
add eax, edx
mov edx, 0x4ee5ae9f
adc edi, esi
add eax, 0x4ee5ae9f
adc edi, 0xa8e4c366
sub edx, eax
mov eax, 0xa8e4c366
sbb eax, edi
add edx, 0x1df6739a
adc eax, 0x486e32af
add edx, 0xc53ef408
adc eax, 0xfcf5c322
add edx, 0x3260ee1a
adc eax, 0xbb0928b
sub edx, 0xc53ef408
sbb eax, 0xfcf5c322
sub edx, 0x3260ee1a
sbb eax, 0xbb0928b
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov eax, 0xe5f0e7e1
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0x4d01978
je 0x40fbe7
cmp eax, 0xaad5e0f
jne 0x40cd50
mov eax, dword [esp + 0x1c]
mov ecx, 0xed7c7d70
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa8], eax
mov eax, 0x7929f362
cmp dword [esp + 0xa8], 0
jmp 0x40fc53
cmp eax, 0x479f9139
je 0x40fc0a
cmp eax, 0x580c2617
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
or eax, 0xae755945
xor esi, 0x518aa6ba
mov edx, eax
mov edi, eax
and esi, ecx
not ecx
not edx
and edi, 0x38e08327
and edx, 0x410a2498
or edx, edi
mov edi, esi
and esi, 0xc71f7cd8
not edi
or eax, edi
and edi, 0x38e08327
or esi, edi
not eax
mov edi, 0xb9281989
xor esi, edx
or eax, esi
mov esi, 0xe21c29f7
mov edx, eax
and eax, 0xe6636be1
not edx
and edx, 0x199c941e
or eax, edx
xor eax, 0x481632a5
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x2546772b
not ecx
and ecx, 0xdab988d4
or eax, ecx
mov ecx, dword [0x4ca6ac]
xor eax, 0x2546772b
setne dl
sete ah
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl al
and dh, ah
and dl, al
or al, ah
or dh, dl
mov ecx, eax
xor cl, dh
xor dh, 1
or al, dh
xor cl, 1
xor al, 1
or al, cl
mov ecx, eax
xor cl, 1
mov dl, cl
and dl, al
mov ah, dl
xor dl, cl
and ah, cl
mov cl, dh
or dl, ah
and cl, al
xor al, dh
xor dl, dh
or al, cl
mov ecx, edx
xor cl, al
not cl
test cl, 1
cmovne edi, esi
test al, 1
mov eax, 0xb9281989
cmovne eax, edi
test dl, 1
cmovne eax, edi
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp eax, 0xed7c7d70
je 0x40fc1f
cmp eax, 0xeda49974
jne 0x40cd50
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov esi, eax
mov edi, eax
mov edx, eax
and eax, 0xbb331f0a
not esi
and edi, 0xe0a8621
and edx, 0xb1e159da
mov ecx, esi
and esi, 0x44cce0f5
and ecx, 0x40142004
or eax, esi
or edi, ecx
xor edi, 0xe0a8621
or edx, edi
mov ecx, edx
and edx, 0xb2b76af3
not ecx
and ecx, 0x4d48950c
or edx, ecx
mov ecx, edx
xor edx, 0x3043208
xor ecx, 0xfca9ccd7
and edx, 0xff8d3e58
mov esi, ecx
and esi, 0x72c1a7
or edx, esi
mov esi, eax
xor eax, 0x44cce0f5
xor esi, 0xbb011e08
or ecx, eax
and eax, 0x72c1a7
and esi, 0xff8d3e58
not ecx
or esi, eax
mov eax, dword [0x4ca6ac]
xor esi, edx
or ecx, esi
mov esi, 0x12548c80
mov edx, ecx
and ecx, 0x5bd3e5a2
not edx
and edx, 0xa42c1a5d
or ecx, edx
xor ecx, 0x5bd3e5a2
sete dl
setne ch
cmp eax, 0xa
setl dh
cmp eax, 9
mov al, ch
setg cl
xor al, cl
mov ah, al
and al, cl
and cl, dl
and ah, ch
and ch, dh
mov bl, ah
xor ah, al
xor al, 1
or cl, ch
xor bl, 1
xor cl, 1
or al, bl
xor al, 1
or al, ah
mov ah, dh
xor dh, dl
and ah, dl
mov dl, cl
or dh, ah
or cl, dh
xor dl, dh
xor cl, 1
or cl, dl
mov edx, eax
xor dl, 1
mov ch, cl
and al, dl
mov ah, dl
mov dh, dl
and ah, al
xor al, dl
and dh, cl
xor dl, cl
or al, ah
mov ah, cl
xor cl, 1
or dl, dh
and ch, cl
xor ah, ch
xor ch, 1
or ch, cl
xor ch, 1
or ch, ah
xor ch, al
mov eax, edx
xor al, ch
test al, 1
mov eax, 0x31a27dbb
cmovne esi, eax
test dl, 1
mov eax, 0x12548c80
jmp 0x40ec4a
cmp eax, 0xbbff6d23
je 0x40fc71
cmp eax, 0xbfebc80c
jne 0x40cd50
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
xor edx, 0xf8bfdb3e
mov esi, eax
and edx, ecx
and ecx, 0x9ef1d372
and eax, 0x610e2c8d
and esi, 0xf8bfdb3e
or eax, ecx
mov edi, esi
and edi, edx
xor edx, esi
or edx, edi
mov esi, edx
and edx, 0xc0cabc5d
not esi
and esi, 0x3f3543a2
or edx, esi
mov esi, edx
xor edx, 0xc78a989d
xor esi, 0x20042400
mov edi, edx
and edi, 0x9ef1d372
and esi, 0x610e2c8d
or esi, edi
xor eax, esi
xor edx, eax
test edx, eax
sete cl
setne al
cmp dword [0x4ca6ac], 9
mov ah, cl
setg dl
or ah, dl
xor cl, dl
not cl
xor ah, 1
and cl, dl
mov ch, ah
and ch, cl
xor cl, ah
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or cl, ch
or dl, ah
mov al, ah
xor dl, 1
and al, dl
xor dl, ah
or dl, al
mov eax, 0x580c2617
xor dl, cl
and cl, dl
mov ch, dl
xor ch, cl
test dl, 1
mov edx, 0xe21c29f7
cmovne eax, edx
test cl, cl
cmove eax, edx
test ch, 1
mov edx, 0x580c2617
jmp 0x40fda8
cmp eax, 0x2f045170
je 0x40fdbb
cmp eax, 0x2f30d839
jne 0x40cd50
mov eax, dword [esp + 0x74]
mov esi, 0xc05c3b17
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0x48e0f3cf
add eax, esi
adc ecx, edx
sub eax, 0x72f25185
sbb ecx, 0x4b9a57a7
sub eax, 0xc05c3b17
sbb ecx, 0x48e0f3cf
sub eax, dword [esp + 0x68]
sbb ecx, dword [esp + 0x6c]
sub eax, 0xd91f7c6e
sbb ecx, 0x36b7ea50
sub eax, 0x7d0c3624
sbb ecx, 0xf4860228
add eax, 0x72f25185
adc ecx, 0x4b9a57a7
add eax, 0xd91f7c6e
adc ecx, 0x36b7ea50
add eax, 0x573676d5
adc ecx, 0x33cf4ada
add eax, 0x248fff7b
adc ecx, 0xd3ab3db5
add eax, 0x7d0c3624
adc ecx, 0xf4860228
sub eax, 0x248fff7b
sbb ecx, 0xd3ab3db5
add eax, 0xa8c9892b
adc ecx, 0xcc30b525
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
and eax, 0xf422c51d
not ecx
and esi, 0x483062
mov edx, ecx
and edx, 0xb950a80
or esi, edx
xor esi, 0x483062
or eax, esi
mov esi, 0x87f8d04a
mov edx, eax
and eax, 0x3849e0b
not edx
and edx, 0xfc7b61f4
or eax, edx
xor eax, 0xf7a65b17
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, dword [0x4ca6ac]
or eax, edx
cmp eax, 0xffffffff
setne ah
sete dh
cmp ecx, 0xa
setl bl
cmp ecx, 9
mov cl, dh
setg dl
xor cl, ah
and cl, dh
mov al, dl
xor al, cl
not al
and al, cl
or cl, dl
xor al, 1
mov ch, al
or al, cl
xor ch, cl
mov cl, dl
or dl, ah
and ah, bl
xor bl, dh
xor al, 1
and cl, dh
xor dl, 1
or al, ch
or cl, ah
or dl, bl
xor cl, 1
mov ah, cl
or cl, dl
xor ah, dl
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
mov edx, eax
or cl, ah
xor dl, 1
mov ah, cl
mov ch, dl
mov ebx, edx
xor ah, 1
and ch, al
mov dh, ah
and bl, ch
xor ch, dl
or ch, bl
and dh, cl
mov bl, ah
or cl, al
mov bh, ch
and bl, dh
xor dh, ah
xor ah, dl
xor cl, 1
or dh, bl
xor bh, 1
or cl, ah
mov eax, 0xafdc8768
and bh, dh
xor dh, 1
mov dl, cl
and dh, ch
or dh, bh
xor dl, dh
test cl, 1
cmovne eax, esi
test dh, 1
cmove eax, esi
test dl, 1
mov edx, 0xafdc8768
jmp 0x40fda8
cmp eax, 0x7929f362
je 0x40fdf6
cmp eax, 0x7f965190
jne 0x40cd50
xor eax, eax
cmp eax, dword [esp + 0x98]
mov eax, 0
sbb eax, dword [esp + 0x9c]
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
setl byte [esp + 0x8d]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xf6f25ebe
mov edx, ecx
and ecx, 0xf47791ac
and edx, 0x90da140
or esi, edx
mov edx, eax
and eax, 0xb886e53
or eax, ecx
xor esi, 0xf6f25ebe
and edx, 1
mov ecx, eax
or edx, esi
xor eax, 0xf47791ac
mov esi, dword [0x4ca6ac]
and eax, edx
xor ecx, 0xb886e53
not edx
and ecx, edx
or eax, ecx
xor edx, eax
test edx, eax
sete dl
setne ch
cmp esi, 0xa
setl al
cmp esi, 9
mov esi, 0xfb60a79d
setg ah
mov cl, ah
xor cl, al
xor al, dl
and cl, ah
mov dh, cl
mov ebx, ecx
xor dh, 1
and bl, dh
xor bl, 1
mov bh, bl
or bl, dh
xor bh, dh
xor bl, 1
or dh, cl
or bl, bh
mov cl, dh
xor cl, bl
xor bl, 1
or bl, dh
xor cl, 1
xor bl, 1
or bl, cl
mov cl, ch
xor cl, bl
and ch, cl
and cl, bl
mov dh, ch
and dh, cl
xor cl, ch
mov ch, ah
xor ch, dl
or cl, dh
and ch, ah
mov ah, cl
mov dl, ch
xor ah, 1
and dl, al
xor al, ch
mov ch, cl
or al, dl
and ch, ah
mov bl, ch
mov edx, eax
xor ch, cl
xor bl, 1
xor dl, 1
or bl, ah
mov dh, dl
xor ah, al
xor bl, 1
and dh, al
or bl, ch
mov ch, dh
xor dh, dl
or dl, cl
xor ch, 1
mov bh, bl
xor dl, 1
or ch, al
xor bh, 1
or dl, ah
xor ch, 1
mov eax, edx
or ch, dh
and bh, ch
xor ch, 1
and ch, bl
or ch, bh
xor al, ch
test al, 1
mov eax, 0xbbff6d23
cmovne esi, eax
test dl, 1
mov eax, 0xfb60a79d
cmovne eax, esi
test ch, 1
jmp 0x40f671
mov eax, 0x7177ea53
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0x20503113
mov dword [esp + 0x40], 4
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0xfdcfb86b
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
lea ecx, [edx + eax]
mov dword [esp], ecx
mov esi, dword [esp + 0xc0]
mov edx, dword [edx + eax + 0xc]
mov edi, edx
mov ecx, edx
not edi
and ecx, 0x147a174a
mov ebx, edi
and edi, 0x5c2af44a
and ebx, 0xeb85e8b5
or ecx, ebx
mov ebx, esi
xor ecx, 0x147a174a
not ebx
mov eax, ecx
xor ecx, ebx
and eax, ebx
and ebx, 0xe47bfe32
or ecx, eax
mov eax, edx
and eax, 0xa3d50bb5
or eax, edi
xor eax, esi
xor eax, 0x5c2af44a
and eax, esi
and esi, 0x1b8401cd
or esi, ebx
mov ebx, ecx
xor esi, edx
xor esi, 0xe47bfe32
and esi, edx
mov edx, eax
and edx, esi
xor esi, eax
mov eax, ecx
or esi, edx
xor eax, 0x13d1fe90
mov edi, esi
mov edx, esi
and eax, ecx
xor edi, 0xec2e016f
and edx, 0x8c38debc
and edi, esi
not esi
and esi, 0x73c72143
or edx, esi
mov esi, edx
xor edx, 0x60060143
xor esi, 0x8c38debc
or edx, 0x13d1fe90
and ebx, esi
xor esi, ecx
not ecx
mov dword [esp + 0x10], ebx
and ecx, 0x13d1fe90
mov ebx, eax
and ebx, ecx
xor ecx, eax
mov eax, edx
or esi, dword [esp + 0x10]
not eax
or ecx, ebx
mov ebx, edx
and ebx, 0x3767a707
and eax, 0xc8080068
or eax, ebx
mov ebx, edi
and edi, 0xc89858f8
not ebx
or edx, ebx
and ebx, 0x3767a707
or edi, ebx
not edx
xor edi, eax
mov eax, ecx
and ecx, 0x8dc8d1f4
not eax
or edx, edi
and eax, 0x72372e0b
or ecx, eax
mov eax, edx
and edx, 0x8dc8d1f4
not eax
and eax, 0x72372e0b
or edx, eax
xor edx, ecx
mov eax, edx
and edx, 0x12c9ee
not eax
mov ecx, eax
or eax, esi
and ecx, 0xffed3611
not eax
or edx, ecx
mov ecx, esi
and esi, 0xffed3611
not ecx
and ecx, 0x12c9ee
or ecx, esi
xor ecx, edx
or eax, ecx
mov ecx, dword [esp]
push 0
push eax
call fcn.0043b630
lea ecx, [esp + 0x60]
call fcn.004397e0
mov eax, dword [esp + 0x88]
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
and ecx, 0x39c3f740
not eax
and esi, 0x80100811
mov edx, eax
and edx, 0x462c00ae
or esi, edx
xor esi, 0x80100811
or ecx, esi
mov esi, 0xa8cb7f7e
mov edx, ecx
and ecx, 0xd9da13cd
not edx
and edx, 0x2625ec32
or ecx, edx
mov edx, ecx
xor ecx, 0x4011e08c
xor edx, 0x1661a13
and ecx, 0x5e91e1ec
and edx, 0xa16e1e13
or edx, ecx
xor edx, 0xa16e1e13
mov ecx, edx
xor edx, eax
and ecx, eax
or edx, ecx
mov ecx, dword [0x4ca6ac]
mov eax, edx
and edx, 0x8df073cb
not eax
and eax, 0x720f8c34
or edx, eax
xor edx, 0x8df073cb
sete al
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
mov ah, cl
xor ah, al
xor ah, 1
or cl, ah
and ah, al
xor al, dl
and al, dl
xor ah, 1
xor al, 1
mov dl, ah
xor dl, al
or al, ah
xor al, 1
or al, dl
mov edx, eax
and al, cl
xor cl, 1
xor dl, 1
mov ch, cl
xor ch, dl
and dl, cl
and ch, cl
or dl, al
mov eax, 0xa8cb7f7e
mov cl, ch
xor cl, dl
test dl, 1
mov edx, 0xda4147b6
cmovne eax, edx
test ch, ch
cmove eax, esi
test cl, 1
cmovne eax, edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0xf02ef1b6
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 0xba182391
xor esi, 0x45e7dc6e
mov edx, ecx
mov edi, ecx
and esi, eax
not edx
and edi, 0x127d0a18
and edx, 0x4582d466
or edx, edi
mov edi, esi
and esi, 0xed82f5e7
not edi
or ecx, edi
and edi, 0x127d0a18
or esi, edi
not ecx
mov edi, eax
and eax, 0x3d21644
xor esi, edx
not edi
or ecx, esi
and edi, 0xfc2de9bb
mov edx, ecx
and ecx, 0x7a14e016
or eax, edi
not edx
mov edi, eax
xor eax, 0xfc2de9bb
and edx, 0x85eb1fe9
xor edi, 0x2801204
or ecx, edx
and edi, 0xeea95b34
mov edx, ecx
xor ecx, 0xc0084304
xor edx, 0x3ff33c79
and ecx, 0xeea95b34
mov esi, edx
or edx, eax
and eax, 0x1156a4cb
and esi, 0x1156a4cb
or edi, eax
mov eax, dword [0x4ca6ac]
not edx
or ecx, esi
xor edi, ecx
or edx, edi
cmp edx, 0xffffffff
setne dl
sete ch
cmp eax, 0xa
setl cl
cmp eax, 9
mov al, ch
setg ah
mov ebx, ecx
and dl, cl
mov dh, ah
and bl, ch
xor dh, cl
xor cl, ch
and dh, ah
and ah, ch
or cl, bl
or ah, dl
xor cl, 1
or ch, dh
xor al, dh
mov dl, ah
not al
xor ch, 1
and dl, cl
xor cl, ah
and al, dh
mov dh, ch
or cl, dl
and dh, al
xor al, ch
mov dl, cl
or al, dh
xor dl, 1
mov ah, dl
and ah, cl
mov ch, ah
xor ah, dl
xor ch, 1
or ch, cl
mov cl, al
xor ch, 1
xor cl, 1
or ch, ah
and cl, ch
xor ch, 1
and ch, al
or ch, cl
mov cl, al
xor cl, dl
or dl, al
mov eax, 0x41f29b3e
xor dl, 1
or dl, cl
mov cl, dl
xor cl, ch
test dl, 1
mov edx, 0x5d3ea022
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x41f29b3e
jmp 0x40fda8
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov eax, 0xc44dc55d
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax + 0x40]
push eax
call fcn.00439010
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 0x896eae6d
not ecx
and edx, eax
or eax, 0x76915192
and ecx, 0x168a048
mov esi, eax
and esi, 0xa8875fa7
or ecx, esi
mov esi, edx
and edx, 0x5778a058
not esi
or eax, esi
and esi, 0xa8875fa7
or edx, esi
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x896eae6d
not ecx
and ecx, 0x76915192
or eax, ecx
mov esi, eax
mov ecx, eax
xor eax, 0xfffffffe
not esi
and ecx, 0x8e8bb19e
mov edx, esi
and esi, 1
and edx, 0x71744e61
or eax, esi
or ecx, edx
mov esi, eax
and eax, 0x4ebdbf7c
mov edx, ecx
and ecx, 0xe98f207a
not esi
not edx
and esi, 0xb1424083
and edx, 0x1670df85
or eax, esi
or ecx, edx
mov edx, ecx
xor ecx, 0x670491e5
xor edx, 0x18fa4a0a
mov esi, ecx
and esi, 0x80053574
and edx, 0x7ffaca8b
or edx, esi
mov esi, eax
xor eax, 0xb1424083
xor esi, 0x4eb88a08
or ecx, eax
and eax, 0x80053574
and esi, 0x7ffaca8b
not ecx
or esi, eax
xor esi, edx
or ecx, esi
mov esi, 0x29ebe67f
mov eax, ecx
xor eax, 0x654c8e34
and eax, ecx
not ecx
and ecx, 0x654c8e34
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0xb9db7e94
not ecx
and ecx, 0x4624816b
or eax, ecx
mov ecx, eax
xor eax, 0x23680f5f
xor ecx, 0xc09040a0
mov edx, eax
and edx, 0x3d67bc17
and ecx, 0xc29843e8
or ecx, edx
mov edx, dword [0x4ca6ac]
xor ecx, 0x3d67bc17
xor eax, ecx
test eax, ecx
setne ch
sete ah
cmp edx, 0xa
setl al
cmp edx, 9
mov cl, ch
setg dl
xor cl, dl
mov dh, cl
and cl, dl
and dl, ah
and dh, ch
and ch, al
or dl, ch
mov ch, al
xor al, ah
mov bl, dh
and ch, ah
mov ah, dl
and bl, cl
xor cl, dh
or al, ch
or cl, bl
xor al, 1
and ah, al
xor al, dl
or al, ah
xor al, cl
and cl, al
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x90f2d766
cmovne eax, esi
test cl, cl
mov ecx, 0x90f2d766
cmove eax, esi
test dl, 1
jmp 0x40fbd4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], eax
mov eax, 0xaad5e0f
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax + 0x40]
push eax
call fcn.00439010
mov eax, 0xeb9bca76
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov esi, ecx
and ecx, 0xc15e079f
not esi
and esi, 0x3ea1f860
or esi, ecx
mov edx, esi
xor esi, 0x3ea1f860
mov eax, esi
xor edx, 0xc0400301
or esi, 0xf34aa955
and eax, 0x11f1c9e
and edx, 0xfee0e361
or edx, eax
mov ecx, edx
xor edx, 0x11f1c9e
mov eax, edx
xor ecx, 0xfee0e361
and edx, 0xd0917cb3
or eax, 0xcb556aa
mov edi, eax
and eax, 0x9b60ecf7
not edi
and edi, 0x600a0100
or edi, eax
mov eax, esi
and esi, 0x9b60ecf7
not eax
and eax, 0x4951208
or eax, esi
xor eax, edi
mov esi, eax
and eax, 0x126edc3b
not esi
and esi, 0xed9123c4
or eax, esi
mov esi, ecx
and ecx, 1
and esi, 0x2f6e834c
or esi, edx
mov edx, eax
xor eax, 0x1edb8a90
xor esi, 0xd0917cb2
xor edx, 0x1203520
or ecx, esi
mov esi, eax
and edx, 0x5b1b7b0
and esi, 0xfa4e484f
or eax, ecx
or edx, esi
mov esi, ecx
and ecx, 0xfa4e484f
not eax
not esi
and esi, 0x5b1b7b0
or esi, ecx
xor esi, edx
or eax, esi
mov edx, eax
mov ecx, eax
xor edx, 0xfe1ecaf8
not ecx
and edx, eax
or eax, 0x1e13507
and ecx, 0x861a0a98
mov esi, eax
and esi, 0x7985e560
or ecx, esi
mov esi, edx
and edx, 0x867a1a9f
not esi
or eax, esi
and esi, 0x7985e560
or edx, esi
not eax
mov esi, 0xcf0cacf4
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x14a3ddf
not ecx
and ecx, 0xfeb5c220
or eax, ecx
mov ecx, eax
xor eax, 0x10050
xor ecx, 0x5e40a104
and eax, 0xa1155673
and ecx, 0x5eeaa98c
or eax, ecx
mov ecx, dword [0x4ca6ac]
xor eax, 0x5eeaa98c
cmp eax, 0xffffffff
sete al
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
xor dl, al
mov ch, cl
xor ch, al
mov eax, edx
xor ch, 1
xor al, 1
or ch, cl
mov cl, ch
and dl, ch
or ch, al
not cl
and al, cl
or al, dl
mov edx, 0xa68c5efd
mov cl, al
xor cl, ch
test al, al
mov eax, 0xa68c5efd
cmovne eax, esi
test ch, ch
jmp 0x40f66c
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
or ecx, 0x7f9f50ad
mov edi, edx
mov esi, ecx
and edx, 0x3a35f8dc
and esi, 0xad52210e
and edi, 0x208e50
or edi, esi
mov esi, eax
xor esi, 0x8060af52
and esi, eax
and eax, 0xc5ca0723
mov ebx, esi
and esi, 0x52addef1
or eax, edx
not ebx
or ecx, ebx
and ebx, 0xad52210e
or esi, ebx
not ecx
xor esi, edi
or ecx, esi
mov esi, ecx
and ecx, 0x3d12518
not esi
and esi, 0xfc2edae7
or ecx, esi
mov esi, ecx
xor ecx, 0x1c481584
xor esi, 0x83b18a4b
and ecx, 0x1f789f8e
mov edx, esi
and edx, 0xe0876071
or ecx, edx
mov edx, eax
xor eax, 0x3a35f8dc
xor edx, 0x5480702
or esi, eax
and eax, 0xe0876071
and edx, 0x1f789f8e
not esi
or edx, eax
xor edx, ecx
or esi, edx
mov eax, esi
and esi, 0x94e15c28
not eax
and eax, 0x6b1ea3d7
or esi, eax
mov eax, dword [0x4ca6ac]
xor esi, 0x94e15c28
mov esi, 0x2f30d839
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
mov dh, ch
xor ch, dl
and dl, al
and dh, cl
or al, cl
or dh, dl
xor al, 1
mov cl, dh
or al, ch
xor cl, 1
or cl, al
xor al, dh
xor al, 1
xor cl, 1
or cl, al
xor cl, dh
and dh, cl
mov eax, ecx
xor al, dh
test al, 1
mov eax, 0x87f8d04a
cmovne esi, eax
test cl, 1
mov eax, 0x2f30d839
cmovne eax, esi
test dh, dh
jmp 0x40f671
cmp byte [esp + 0x8e], 0
mov eax, 0xa4179ef1
mov ecx, 0xb5a97bf3
jmp 0x40ff52
mov eax, dword [esp + 0x74]
mov eax, dword [ebp + 8]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov eax, 0x2f30d839
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or eax, 0x3fecd7da
not ecx
and esi, 0x4d73aaa1
and eax, 0x3fecd7db
mov edx, ecx
and edx, 0xb28c555e
or esi, edx
mov edx, esi
xor esi, 0x328c555a
xor edx, 0x40132820
and esi, 0x3fecd7da
and edx, 0xc0132824
or edx, esi
mov esi, 0x3633ae4
xor eax, edx
not eax
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, dword [0x4ca6ac]
or eax, edx
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
xor ah, al
mov ch, cl
xor cl, dl
xor ah, 1
and ch, dl
or cl, ch
mov edx, ecx
or dl, ah
xor ah, cl
mov ecx, edx
xor cl, ah
test ah, ah
mov eax, 0xec1bbeb2
cmovne eax, esi
test dl, dl
mov edx, 0xec1bbeb2
cmovne eax, edx
test cl, cl
cmove eax, esi
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp byte [esp + 0x8d], 0
mov eax, 0xaad5e0f
mov ecx, 0x3dbb4b64
mov dword [esp + 0x18], 0
cmovne eax, ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0xeda49974
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0xb0]
add eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xb4]
adc ecx, dword [esp + 0x5c]
add eax, 0xd57ac69
mov dword [esp + 0x3c], eax
mov eax, 0x724e5910
adc ecx, 0x62d2395d
mov dword [esp + 0x38], ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0x580c2617
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x3b755bf
not ecx
or edx, 1
mov esi, ecx
and edx, 0x89edc45d
and esi, 0x76123ba2
or esi, edx
mov edx, ecx
and ecx, 0xfc48aa40
or edx, 0x89edc45c
or eax, ecx
and edx, 0x89edc45d
mov ecx, eax
xor eax, 0xfc48aa40
xor edx, esi
xor ecx, 0x3b755bf
mov esi, 0xbbff6d23
and eax, edx
not edx
and ecx, edx
or eax, ecx
xor edx, eax
test edx, eax
mov eax, dword [0x4ca6ac]
setne dl
cmp eax, 9
setg cl
cmp eax, 0xa
setl ah
mov al, ah
xor al, dl
or dl, ah
xor al, 1
or cl, al
and al, ah
mov ah, dl
xor al, 1
xor ah, al
or al, dl
mov edx, ecx
xor dl, 1
xor al, 1
and cl, dl
or al, ah
mov ah, cl
xor cl, dl
and ah, dl
or cl, ah
mov ah, dl
xor cl, al
xor ah, al
or al, dl
xor al, 1
or al, ah
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x7f965190
cmovne eax, esi
test cl, 1
cmove eax, esi
test dl, 1
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x98], edx
mov edx, 0x7f965190
mov dword [esp + 0x9c], esi
jmp 0x40fda8
mov eax, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x20], eax
mov eax, 0x6417c392
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [0x4ca6a8]
mov edi, 0x31a27dbb
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
and eax, 0x647ee7b2
not ecx
and esi, 1
mov edx, ecx
and ecx, 0x9b81184d
or eax, ecx
and edx, 0xfffffffe
mov ecx, eax
or esi, edx
xor eax, 0x9b81184d
and eax, esi
xor ecx, 0x647ee7b2
not esi
and ecx, esi
or eax, ecx
mov ecx, dword [0x4ca6ac]
not eax
or eax, esi
mov esi, 0xeda49974
cmp eax, 0xffffffff
sete dl
setne ah
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
mov ch, cl
xor ch, al
and ch, cl
xor ch, ah
and ah, cl
mov cl, al
xor cl, dl
and cl, al
and al, dl
or al, ah
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov cl, al
not cl
and cl, ch
xor ch, 1
mov dl, ch
xor dl, al
and al, ch
and dl, ch
or al, cl
mov ecx, edx
xor cl, al
test cl, 1
cmovne edi, esi
test al, al
mov eax, edi
cmovne eax, esi
test dl, dl
mov edx, dword [esp + 0x40]
cmove eax, edi
mov dword [esp + 0xc0], edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x60]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x88]
push dword [esp + 0x44]
call fcn.004380d0
mov ecx, dword [0x4ca6b0]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 1
xor esi, 0xfffffffe
mov edx, ecx
mov edi, ecx
and esi, eax
not edx
and edi, 0x404988df
and edx, 0xbfb67720
or edx, edi
mov edi, esi
and esi, 0xbfb67720
not edi
or ecx, edi
and edi, 0x404988df
or esi, edi
not ecx
mov edi, 0xf016a502
xor esi, edx
mov edx, eax
and eax, 0x14e4cc31
not edx
or ecx, esi
mov esi, 0xf016a502
and edx, 0xeb1b33ce
or eax, edx
mov edx, eax
xor eax, 0xeb1b33ce
and eax, ecx
xor edx, 0x14e4cc31
not ecx
and edx, ecx
or eax, edx
not eax
or eax, ecx
mov ecx, dword [0x4ca6b4]
cmp eax, 0xffffffff
sete dl
sete byte [esp + 0xc5]
cmp ecx, 9
setg ah
cmp ecx, 0xa
mov cl, ah
setl al
setl byte [esp + 0xc6]
or ah, dl
xor cl, dl
not cl
and cl, dl
xor cl, 1
mov ch, cl
or cl, ah
xor ch, ah
mov ah, al
xor al, dl
xor cl, 1
or ah, dl
or cl, ch
xor ah, 1
mov ch, cl
mov dl, ah
and dl, al
xor al, ah
or al, dl
mov edx, eax
and ch, al
xor dl, 1
mov ah, dl
or dl, cl
xor cl, 1
and ah, cl
xor cl, al
xor dl, 1
or dl, cl
or ch, ah
mov eax, edx
xor al, ch
test al, 1
mov eax, 0x20b19665
cmovne esi, eax
mov ah, byte [esp + 0x64]
test dl, 1
mov edx, 0xb98d29ef
cmovne edi, esi
test ch, 1
cmove edi, esi
nop dword [eax]
cmp edx, 0xf016a501
jg 0x40fb30
cmp edx, 0x99d9fb94
je 0x40fb5b
cmp edx, 0xb98d29ef
jne 0x40fa40
mov al, byte [esp + 0xc5]
mov dh, byte [esp + 0xc6]
mov esi, 0x99d9fb94
mov dl, dh
mov ch, al
xor dl, 1
xor ch, 1
mov ebx, edx
mov cl, dl
mov bh, dl
and bl, dh
or bh, dh
xor cl, bl
xor bl, 1
or bl, dh
xor bl, 1
or bl, cl
mov cl, bh
xor cl, 1
and cl, bl
xor bl, 1
and bl, bh
or bl, cl
mov cl, bh
xor bh, dl
and cl, dl
or bh, cl
mov cl, bl
xor bh, 1
and cl, bh
xor bh, bl
or bh, cl
mov cl, al
mov bl, bh
and cl, dl
or dl, ch
and bh, ch
xor bl, 1
xor dl, 1
and bl, al
xor al, dh
and dh, ch
or cl, dh
or dl, al
or bl, bh
xor cl, 1
mov al, cl
or cl, dl
xor al, dl
xor cl, 1
or cl, al
mov al, cl
xor al, 1
mov edx, eax
and dl, cl
xor al, dl
xor dl, 1
or dl, cl
mov ecx, 0x20b19665
xor dl, 1
or dl, al
mov al, dl
xor dl, bl
xor bl, 1
xor al, 1
or bl, al
mov al, dl
xor al, bl
test dl, 1
mov edx, 0x20b19665
cmovne edx, esi
test bl, 1
cmovne edx, ecx
test al, 1
cmove edx, esi
cmp edx, 0xf016a501
jle 0x40fa4c
nop dword [eax + eax]
cmp edx, 0xf016a502
je 0x40ff40
cmp edx, 0x20b19665
jne 0x40fa40
mov edx, 0x99d9fb94
cmp edx, 0xf016a501
jle 0x40fa4c
jmp 0x40fb30
test ah, ah
mov edx, edi
setne byte [esp + 0xc7]
cmp edx, 0xf016a501
jle 0x40fa4c
jmp 0x40fb30
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
cmp edx, dword [ecx + eax + 0x20]
sbb esi, dword [ecx + eax + 0x24]
mov eax, 0x6417c392
mov ecx, 0xd4bb5e77
jmp 0x40fdd3
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax + 0x40]
push eax
call fcn.00439010
cmp eax, 0xffffffff
mov eax, 0x397d745c
mov ecx, 0xbfebc80c
cmove eax, ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov eax, 0x2d14bb35
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, 0x7f965190
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [ecx]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [ebp + 0xc]
call dword [eax + 0x24]
xor edx, dword [esp + 0x6c]
xor eax, dword [esp + 0x68]
mov ecx, 0x7929f362
or eax, edx
mov eax, 0x2491be4f
mov edx, dword [esp + 0xa8]
cmove eax, ecx
mov dword [esp + 0x24], edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [0x4ca6a8]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
or ecx, 0x2a602880
not edx
and ecx, 0x2e663ba0
mov esi, edx
and edx, 0x4099004d
or esi, 0x449f136d
or edx, ecx
mov eax, esi
and esi, 0x2e663ba0
not eax
and eax, 0x9100c412
or eax, esi
mov esi, 0x4d01978
xor eax, edx
mov ecx, eax
and eax, 0x27993954
not ecx
and ecx, 0xd866c6ab
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0x84d01506
xor ecx, 0x63062a39
xor edx, 0x63062a38
and eax, 0xe6d01506
and edx, ecx
and ecx, 0x192feaf9
or ecx, eax
mov eax, edx
xor ecx, 0x192feaf8
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, ecx
not eax
and ecx, eax
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x99bc932e
not eax
and eax, 0x66436cd1
or eax, ecx
mov ecx, eax
xor eax, 0x60022401
xor ecx, 0x99a0112e
and eax, 0x601ea601
and ecx, 0x9fe159fe
or ecx, eax
xor ecx, 0x9fe159fe
setne cl
sete dl
cmp dword [0x4ca6ac], 0xa
setl ah
mov al, ah
xor cl, ah
and ah, dl
xor al, dl
xor cl, 1
mov ch, al
or ah, al
mov edx, ecx
xor ah, 1
xor ch, 1
and dl, ah
xor ah, cl
mov cl, ch
and cl, al
or ah, dl
xor ch, cl
xor cl, 1
or cl, al
xor cl, 1
or cl, ch
mov edx, ecx
xor dl, 1
and dl, ah
xor ah, 1
and cl, ah
or cl, dl
mov edx, eax
xor dl, ah
or ah, al
xor ah, 1
or ah, dl
mov edx, 0x2d14bb35
mov al, ah
xor al, cl
test al, 1
cmovne edx, esi
test ah, 1
mov eax, 0x2d14bb35
cmovne eax, edx
test cl, 1
cmove eax, edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
cmp eax, 1
mov eax, 0xcd1a268f
sbb ecx, 0
mov ecx, 0x6417c392
cmovl eax, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [0x4ca6a8]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
or ecx, 0x190d2890
mov edi, edx
mov esi, ecx
and edx, 0x3ea02544
and esi, 0xcf9abb9e
and edi, 0x20604461
or edi, esi
mov esi, eax
xor esi, 0xe6f2d76f
and esi, eax
and eax, 0xc15fdabb
mov ebx, esi
and esi, 0x30654461
or eax, edx
not ebx
or ecx, ebx
and ebx, 0xcf9abb9e
or esi, ebx
not ecx
xor esi, edi
mov edi, 0xfcf37d03
or ecx, esi
mov esi, ecx
and ecx, 0xe6f2d76e
not esi
and esi, 0x190d2891
or ecx, esi
mov esi, ecx
and ecx, 0x4f90bcce
not esi
and esi, 0xb06f4331
or ecx, esi
mov esi, ecx
xor ecx, 0xb06f4331
xor esi, 0x4100b4ca
mov edx, ecx
and edx, 0xef44804
and esi, 0xf10bb7fb
or esi, edx
mov edx, eax
xor eax, 0x3ea02544
xor edx, 0xc10b92bb
or ecx, eax
and eax, 0xef44804
and edx, 0xf10bb7fb
not ecx
or edx, eax
xor edx, esi
mov esi, dword [0x4ca6ac]
or ecx, edx
cmp ecx, 0xffffffff
sete cl
setne dl
cmp esi, 9
setg al
cmp esi, 0xa
mov esi, 0xb3e6cf87
setl ah
mov ch, al
xor al, dl
or dl, ah
or ch, cl
or ah, cl
xor al, 1
mov dh, ch
or ch, dl
mov cl, ah
xor cl, al
or al, ah
xor dh, dl
xor ch, 1
xor al, 1
or ch, dh
or al, cl
mov dl, ch
mov cl, al
xor dl, al
and al, ch
and dl, ch
xor cl, 1
xor ch, 1
and ch, cl
mov cl, dl
or al, ch
xor cl, al
test cl, 1
cmovne edi, esi
test al, 1
mov eax, edi
cmovne eax, esi
test dl, dl
mov edx, dword [esp + 0x24]
cmove eax, edi
mov dword [esp + 0xac], edx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
cmp byte [esp + 0xc7], 0
mov eax, 0xc7489a5
mov ecx, 0x8971a60e
cmovne eax, ecx
cmp eax, 0xf02ef1b5
jg 0x40d360
jmp 0x40cd5b
mov ecx, dword [esp + 0xc8]
xor ecx, ebp
call fcn.00499068
mov eax, dword [esp + 0x44]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret