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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0x44d834]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov esi, 0x5929df87
lea ebx, [esp + 0xf0]
xor eax, ebp
test ecx, ecx
mov dword [esp + 0x108], eax
mov eax, 0x4613cbef
cmove esi, eax
lea eax, [edx + ecx]
mov dword [esp + 0x38], eax
mov eax, 0x322293ed
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], ecx
nop dword [eax]
cmp eax, 0x175b9b86
jg 0x413ce0
cmp eax, 0xb5a49bea
jg 0x413080
cmp eax, 0x98733aa0
jle 0x4130d2
cmp eax, 0xa4bedc72
jle 0x41314f
cmp eax, 0xa4bedc73
je 0x413234
cmp eax, 0xa7c1976d
je 0x4132b4
cmp eax, 0xa7deea44
jne 0x413010
mov ecx, dword [esp + 0xac]
mov eax, 0x5b82d6f3
mov dword [esp + 0x24], ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0xde4ec2f8
jle 0x41311d
cmp eax, 0xf0dbf164
jle 0x41317f
cmp eax, 0xf0dbf165
je 0x4133a2
cmp eax, 0xf60eeb17
je 0x4133dc
cmp eax, 0x10d4aabb
jne 0x413010
mov eax, dword [esp + 0xb4]
mov ecx, 0x58b4a0d7
cmp eax, 0x100
mov eax, 0x7c00cd66
jmp 0x413eba
cmp eax, 0x9544fc80
jg 0x4131af
cmp eax, 0x81e36f8c
je 0x413408
cmp eax, 0x8349cae5
jne 0x413010
mov eax, dword [esp + 0xb0]
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x20]
mov eax, 0x9544fc81
mov ecx, 0x6e594604
cmovb eax, ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0xc817def4
jg 0x4131fb
cmp eax, 0xb5a49beb
je 0x413503
cmp eax, 0xbb1553ff
jne 0x413010
mov ecx, dword [esp + 0x80]
mov eax, 0xa7c1976d
jmp 0x414295
cmp eax, 0x98733aa1
je 0x413528
cmp eax, 0xa21f6eeb
jne 0x413010
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + eax], 0x30
mov eax, 0xa7c1976d
mov ecx, 0xf60eeb17
jmp 0x41428e
cmp eax, 0xde4ec2f9
je 0x4136ce
cmp eax, 0xe8d34bdc
jne 0x413010
cmp byte [esp + 0x87], 0
mov eax, 0xa7c1976d
mov ecx, 0xa21f6eeb
cmovne eax, ecx
jmp 0x414291
cmp eax, 0x9544fc81
je 0x4137a5
cmp eax, 0x96cde3e3
jne 0x413010
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov edx, 0xa4bedc73
sub ecx, eax
mov eax, dword [esp + 0xa4]
cmp eax, ecx
mov eax, 0x175b9b87
cmovb eax, edx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0xc817def5
je 0x4137c2
cmp eax, 0xc9247259
jne 0x413010
mov eax, dword [esp + 0x78]
cmp eax, 0x2d
sete al
mov dword [esp + 0x1c], eax
mov eax, 0x4613cbef
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xbc]
sub ecx, eax
mov dword [esp + 0xa8], ecx
movsx eax, byte [esp + 0xa3]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], 1
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 8], eax
call fcn.00415360
sub esp, 0xc
mov eax, dword [esp + 0xc0]
mov ecx, 0xa7deea44
inc eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
cmp byte [eax], 0
mov edx, dword [esp + 0xc0]
mov eax, 0x5b82d6f3
cmovg eax, ecx
mov dword [esp + 0x24], edx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0xd4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0xd0]
mov dword [esp], eax
call fcn.00414930
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov eax, 0xafd67d28
nop word [eax + eax]
cmp eax, 0xb9fa313
jg 0x413360
cmp eax, 0xae1892eb
je 0x413324
cmp eax, 0xafd67d28
jne 0x413300
cmp dword [esp + 0xc8], 0
mov eax, 0xae1892eb
jmp 0x413344
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0xcc], eax
mov eax, 0x2d1498fe
cmp dword [esp + 0xcc], 0
mov ecx, 0xb9fa314
cmove eax, ecx
cmp eax, 0xb9fa313
jle 0x413307
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xb9fa314
je 0x4137d6
cmp eax, 0x2d1498fe
jne 0x413300
mov eax, dword [esp + 0xcc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0xcc]
mov dword [esp], 1
call eax
sub esp, 4
mov eax, 0xb9fa314
cmp eax, 0xb9fa313
jle 0x413307
jmp 0x413360
mov eax, dword [esp + 0x100]
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
mov eax, dword [eax + 0x24]
cmp dword [ecx + 0x20], 1
mov ecx, 0x9544fc81
sbb eax, 0
mov eax, 0x8349cae5
cmovl eax, ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebp + 0x20]
movsx eax, byte [eax + ecx + 1]
mov ecx, 0xbb1553ff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp eax, 0x78
mov eax, 0xc817def5
jmp 0x413eba
cmp dword [esp + 0x9c], 0
mov ecx, dword [0x44e5e0]
lea eax, [ecx - 1]
setg byte [esp + 0xa2]
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0x5c90725a
not edx
and ecx, 0xe3956065
mov esi, edx
and edx, 0xa36f8da5
and esi, 0x1c6a9f9a
or eax, edx
or ecx, esi
mov esi, ecx
and ecx, 0x8fdf04ab
not esi
and esi, 0x7020fb54
or ecx, esi
mov esi, ecx
xor ecx, 0x6c4a64cf
xor esi, 0x80a59030
mov edx, ecx
and edx, 0x73120bc8
and esi, 0x8cedf437
or esi, edx
mov edx, eax
xor eax, 0x23020980
xor edx, 0xc807012
and eax, 0x73120bc8
and edx, 0x8cedf437
or edx, eax
mov eax, dword [0x44e5e4]
xor edx, esi
mov esi, 0x4bd46f65
xor ecx, edx
test ecx, edx
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
or ch, cl
mov al, dh
xor al, dl
xor al, 1
or al, dh
or dh, dl
mov cl, dh
or dh, ch
mov dl, al
xor cl, ch
xor dh, 1
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, 0x23d3160b
cmovne esi, eax
test dl, dl
mov eax, 0x4bd46f65
cmovne eax, esi
test dh, 1
cmovne eax, esi
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp dword [esp + 0xa4], 0
mov eax, 0x175b9b87
mov ecx, 0x96cde3e3
cmovg eax, ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [0x44e5e0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x4b01bacc
not eax
and eax, 0xb4fe4533
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0x40538fe2
xor edx, 0x14464011
xor ecx, 0x4b01bacc
and eax, ecx
and edx, 0x1f464a15
and ecx, 0xe0b9b5ea
or ecx, edx
mov esi, ecx
xor ecx, 0xe0b9b5eb
xor esi, 0xe0b9b5ea
mov edx, esi
and esi, 1
and edx, 0xb52352e
or ecx, esi
mov edi, edx
mov esi, ecx
and ecx, 0x28e55d92
and edi, eax
xor eax, edx
not esi
or eax, edi
and esi, 0xd71aa26d
mov edx, eax
and eax, 0xe20b3a33
or ecx, esi
not edx
and edx, 0x1df4c5cc
or eax, edx
mov edx, eax
xor eax, 0x16a6f0e3
xor edx, 0x41480210
mov esi, eax
and esi, 0xae950daf
and edx, 0x516af250
or edx, esi
mov esi, ecx
xor ecx, 0xd71aa26d
xor esi, 0x605010
or eax, ecx
and ecx, 0xae950daf
and esi, 0x516af250
not eax
or esi, ecx
xor esi, edx
or eax, esi
mov esi, 0x47b7fe71
mov ecx, eax
and eax, 0x15e8f1cc
not ecx
mov edx, ecx
or ecx, 0x76b9d609
and edx, 0xea170e33
or eax, edx
mov edx, eax
xor eax, 0x62100001
xor edx, 0x14808008
or eax, 0x9040120
and eax, 0x6b3c5121
and edx, 0x14818608
or edx, eax
mov eax, ecx
and ecx, 0x6b3c5121
not eax
and eax, 0x804228d6
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0x381a7161
not ecx
and ecx, 0xc7e58e9e
or eax, ecx
mov ecx, dword [0x44e5e4]
xor eax, 0x4ea3a768
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, dl
mov ch, cl
and al, cl
and cl, dl
xor ch, dl
or al, ah
or ch, cl
xor al, 1
mov cl, ch
mov dl, ch
mov ah, ch
xor cl, 1
and dl, cl
xor ah, dl
xor dl, 1
or dl, cl
mov cl, ch
xor dl, 1
and cl, al
or dl, ah
xor dl, al
xor al, ch
or al, cl
mov ecx, eax
xor cl, dl
test al, al
mov eax, 0x5a98200d
cmovne eax, esi
test dl, 1
mov edx, 0x5a98200d
cmove eax, esi
test cl, 1
cmove eax, edx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
lea eax, [ebp + 0x10]
lea edx, [esp + 0xd0]
mov esi, eax
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
movsx ecx, byte [ebp + 0x1c]
mov eax, dword [esp + 0xc4]
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00415570
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xcc], ebx
mov ebx, 0x130f9650
mov dword [esi + 4], ecx
mov dword [esi], eax
mov esi, 0x27495808
mov edx, dword [esp + 0xcc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xd0], edx
mov edx, 0x7da6ac33
cmova esi, edx
nop word [eax + eax]
cmp ebx, 0x7da6ac33
je 0x41378d
cmp ebx, 0x27495808
je 0x4139f1
cmp ebx, 0x130f9650
jne 0x413760
mov edx, dword [esp + 0xd0]
mov ebx, esi
cmp ebx, 0x7da6ac33
jne 0x413768
mov edx, dword [esp + 0xcc]
mov ebx, 0x27495808
mov edx, dword [edx]
cmp ebx, 0x7da6ac33
jne 0x413768
jmp 0x41378d
mov eax, 0x3bde75c1
mov dword [esp + 0x30], 0
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0x88]
mov ecx, 0xbb1553ff
cmp eax, 0x58
jmp 0x414289
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0x8c]
mov eax, dword [0x44e530]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xe0dfa5a3
not eax
and eax, 0x1f205a5c
or ecx, eax
mov eax, ecx
and ecx, 0x1f205a5c
not eax
and eax, 0xe0dfa5a3
or ecx, eax
mov edx, ecx
and ecx, 0xe54e34e2
not edx
mov eax, edx
and edx, 0x1ab1cb1d
or eax, 1
or ecx, edx
mov esi, eax
mov edx, eax
not esi
and edx, 0x40680bf9
and esi, 0xbf97f406
or esi, edx
mov edx, ecx
xor ecx, 0x1ab1cb1c
xor edx, 0xa5063402
or eax, ecx
and ecx, 0x40680bf9
and edx, 0xbf97f406
not eax
or edx, ecx
xor edx, esi
mov esi, 0x85bd2c49
or eax, edx
mov ecx, eax
mov edx, eax
and eax, 0xffedee7
not ecx
and edx, 0xb0012118
and ecx, 0x40000000
or edx, ecx
xor edx, 0xb0012118
or eax, edx
mov ecx, eax
and eax, 0xf0012118
not ecx
and ecx, 0xffedee7
or eax, ecx
mov eax, dword [0x44e534]
sete cl
setne dl
sete byte [esp + 0xcc]
cmp eax, 9
setg ch
cmp eax, 0xa
mov ah, dl
setl al
setl byte [esp + 0xd0]
and ah, ch
or dl, al
and al, cl
or al, ah
mov ah, al
xor ah, ch
or ch, cl
and ah, al
mov al, ch
or ch, dl
xor al, dl
xor ch, 1
xor ah, 1
mov edx, 0x85bd2c49
or ch, al
mov cl, ah
xor ch, 1
or cl, ch
xor ch, ah
mov eax, ecx
xor al, ch
test al, 1
mov eax, 0xbfe7d427
cmovne edx, eax
test ch, 1
mov eax, edx
cmovne eax, esi
test cl, 1
cmovne eax, edx
mov edx, 0xcb26014e
nop dword [eax]
cmp edx, 0xc4e86b68
jg 0x413940
cmp edx, 0x85bd2c49
je 0x413a4a
cmp edx, 0xbfe7d427
jne 0x413910
mov edx, 0xc4e86b69
cmp edx, 0xc4e86b68
jle 0x413918
nop dword [eax]
cmp edx, 0xc4e86b69
je 0x4139de
cmp edx, 0xcb26014e
jne 0x413910
movzx ecx, byte [esp + 0xcc]
movzx edx, byte [esp + 0xd0]
mov esi, 0xc4e86b69
lea edi, [esp + 0xf0]
mov dh, dl
mov ch, cl
mov ebx, ecx
xor dh, 1
xor ch, 1
xor bl, dl
or dh, cl
or ch, dl
or cl, dl
xor dh, 1
xor ch, 1
xor cl, 1
mov dl, dh
or cl, bl
and dl, ch
xor ch, dh
mov ebx, ecx
or ch, dl
xor bl, 1
mov dl, ch
and ch, cl
xor dl, 1
or cl, dl
and dl, bl
mov ebx, 0xbfe7d427
or dl, ch
mov dh, cl
xor dh, dl
test dh, 1
cmovne esi, ebx
test dl, 1
mov ebx, 0xc4e86b69
mov edx, esi
cmovne edx, ebx
test cl, 1
mov ebx, edi
cmovne edx, esi
cmp edx, 0xc4e86b68
jle 0x413918
jmp 0x413940
mov edx, eax
cmp edx, 0xc4e86b68
jle 0x413918
jmp 0x413940
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0x68]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00415700
movsd xmm0, qword [esp + 0xd0]
lea eax, [ebp + 0x10]
mov dword [esp + 0x20], 0
lea ebx, [esp + 0xf0]
jmp 0x414368
mov eax, dword [ebp + 0x24]
mov ecx, ebx
mov dword [esp + 0xf0], 0
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00415ed0
sub esp, 8
mov dword [esp + 0xcc], ebx
mov ecx, 0x7da6ac33
mov edx, 0x130f9650
mov eax, dword [esp + 0xcc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xd0], eax
mov eax, 0x27495808
cmova eax, ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x7da6ac33
je 0x413ae9
cmp edx, 0x27495808
je 0x413b01
cmp edx, 0x130f9650
jne 0x413ac0
mov ecx, dword [esp + 0xd0]
mov edx, eax
cmp edx, 0x7da6ac33
jne 0x413ac8
mov ecx, dword [esp + 0xcc]
mov edx, 0x27495808
mov ecx, dword [ecx]
cmp edx, 0x7da6ac33
jne 0x413ac8
jmp 0x413ae9
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp], ecx
mov ecx, edx
call dword [eax + 0x1c]
sub esp, 0xc
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0xd4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0xd0]
mov dword [esp], eax
call fcn.00414ec0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov eax, 0xafd67d28
nop
cmp eax, 0xb9fa313
jg 0x413bc0
cmp eax, 0xae1892eb
je 0x413b84
cmp eax, 0xafd67d28
jne 0x413b60
cmp dword [esp + 0xc8], 0
mov eax, 0xae1892eb
jmp 0x413ba4
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0xcc], eax
mov eax, 0x2d1498fe
cmp dword [esp + 0xcc], 0
mov ecx, 0xb9fa314
cmove eax, ecx
cmp eax, 0xb9fa313
jle 0x413b67
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xb9fa314
je 0x413bfe
cmp eax, 0x2d1498fe
jne 0x413b60
mov eax, dword [esp + 0xcc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0xcc]
mov dword [esp], 1
call eax
sub esp, 4
mov eax, 0xb9fa314
cmp eax, 0xb9fa313
jle 0x413b67
jmp 0x413bc0
lea eax, [esp + 0xd8]
mov dword [esp + 0x94], eax
mov esi, eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx]
mov dword [esp], esi
call dword [eax + 0x14]
sub esp, 4
mov dword [esp + 0xcc], esi
mov ecx, 0x2ad9d606
mov edx, 0x5973397f
mov eax, dword [esp + 0xcc]
cmp dword [esp + 0xec], 0xf
mov dword [esp + 0xd0], eax
mov eax, 0xda316b2c
cmova eax, ecx
nop word cs:[eax + eax]
cmp edx, 0xda316b2c
je 0x413ca1
cmp edx, 0x2ad9d606
je 0x413c8b
cmp edx, 0x5973397f
jne 0x413c60
mov ecx, dword [esp + 0xd0]
mov edx, eax
cmp edx, 0xda316b2c
jne 0x413c68
jmp 0x413ca1
mov ecx, dword [esp + 0xcc]
mov edx, 0xda316b2c
mov ecx, dword [ecx]
cmp edx, 0xda316b2c
jne 0x413c68
mov dword [esp + 0x98], ecx
mov ecx, 0xf0dbf165
mov eax, dword [esp + 0x98]
movsx eax, byte [eax]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x9c]
cmp eax, 0x7f
mov eax, 0x7c901067
jmp 0x413eba
cmp eax, 0x54f4d5ed
jg 0x413d40
cmp eax, 0x3bde75c0
jle 0x413de5
cmp eax, 0x4613cbee
jle 0x413e69
cmp eax, 0x4613cbef
je 0x41417f
cmp eax, 0x47b7fe71
je 0x4142a9
cmp eax, 0x4bd46f65
jne 0x413010
cmp byte [esp + 0xa2], 0
mov eax, 0xf0dbf165
mov ecx, 0x240af3ee
jmp 0x4144c0
cmp eax, 0x5b82d6f2
jg 0x413e22
cmp eax, 0x5929df86
jg 0x413ecd
cmp eax, 0x54f4d5ee
je 0x414625
cmp eax, 0x58b4a0d7
jne 0x413010
mov dword [esp + 0xcc], ebx
mov ecx, 0x27495808
mov edx, 0x130f9650
mov eax, dword [esp + 0xcc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xd0], eax
mov eax, 0x7da6ac33
cmova ecx, eax
nop dword [eax + eax]
cmp edx, 0x7da6ac33
je 0x413dcd
cmp edx, 0x27495808
je 0x4142ce
cmp edx, 0x130f9650
jne 0x413da0
mov eax, dword [esp + 0xd0]
mov edx, ecx
cmp edx, 0x7da6ac33
jne 0x413da8
mov eax, dword [esp + 0xcc]
mov edx, 0x27495808
mov eax, dword [eax]
cmp edx, 0x7da6ac33
jne 0x413da8
jmp 0x413dcd
cmp eax, 0x240af3ed
jg 0x413fde
cmp eax, 0x175b9b87
je 0x414381
cmp eax, 0x23d3160b
jne 0x413010
mov eax, dword [esp + 0x9c]
mov eax, 0x81e36f8c
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0x7c00cd65
jg 0x414010
cmp eax, 0x5b82d6f3
je 0x414396
cmp eax, 0x6e594604
jne 0x413010
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x30], eax
mov eax, 0x3bde75c1
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0x3bde75c1
je 0x4143be
cmp eax, 0x3ef140f6
jne 0x413010
mov eax, dword [esp + 0x2c]
mov ecx, 0x175b9b87
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
movsx eax, byte [eax]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xa4]
cmp eax, 0x7f
mov eax, 0xb5a49beb
cmove eax, ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0x5929df87
je 0x414600
cmp eax, 0x5a98200d
jne 0x413010
mov eax, dword [esp + 0x7c]
add eax, 2
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [0x44e5e0]
cmp eax, dword [ebp + 0x24]
lea eax, [ecx - 1]
setbe byte [esp + 0x87]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x3c369e9a
mov edx, ecx
and ecx, 0x57e5c74
and edx, 0xc3c96164
or esi, edx
mov edx, eax
xor edx, 0xfffffffe
xor esi, 0x3c369e9a
and edx, eax
mov edi, esi
and eax, 0xfa81a38b
and edi, edx
xor edx, esi
or eax, ecx
or edx, edi
xor eax, 0xfa81a38b
mov esi, edx
and edx, 0xecd2c0de
not esi
and esi, 0x132d3f21
or edx, esi
mov esi, 0x47b7fe71
xor edx, 0xecd2c0de
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
and eax, 0xb850da0b
not ecx
and ecx, 0x47af25f4
or eax, ecx
xor eax, 0xb850da0b
sete al
setne cl
cmp dword [0x44e5e4], 9
setg dl
mov ah, dl
xor al, dl
and ah, cl
xor cl, dl
mov edx, eax
or cl, ah
not dl
mov ah, cl
and dl, cl
or cl, al
not ah
and al, ah
or al, dl
mov edx, ecx
xor dl, al
mov edx, 0xe8d34bdc
cmovne edx, esi
test al, al
mov esi, 0xe8d34bdc
mov eax, edx
cmovne eax, esi
test cl, cl
cmovne eax, edx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0x240af3ee
je 0x4144d3
cmp eax, 0x322293ed
jne 0x413010
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], 0
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
cmp eax, 0x7c00cd66
je 0x41450d
cmp eax, 0x7c901067
jne 0x413010
mov eax, dword [0x44e5e0]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
not eax
and edx, eax
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov eax, edx
mov ecx, edx
xor eax, 0xcea43d70
not ecx
mov esi, eax
and eax, edx
and edx, 0x74e3576f
and esi, ecx
mov edi, esi
and edi, eax
xor eax, esi
or eax, edi
mov edi, 0x23d3160b
mov esi, eax
and eax, 0xa370ce64
not esi
and esi, 0x5c8f319b
or eax, esi
mov esi, ecx
and ecx, 1
and esi, 0x8b1ca890
or esi, edx
mov edx, eax
xor eax, 0x922b0cea
xor esi, 0x74e3576e
xor edx, 0x25d46110
or ecx, esi
mov esi, eax
and edx, 0xb7f665f0
and esi, 0x48099a0f
or eax, ecx
or edx, esi
mov esi, ecx
and ecx, 0x48099a0f
not eax
not esi
and esi, 0xb7f665f0
or esi, ecx
xor esi, edx
or eax, esi
mov ecx, eax
xor ecx, 0x38606b50
and ecx, eax
or eax, 0xc79f94af
mov edx, eax
mov esi, eax
not edx
and esi, 0xe0eaf0b4
and edx, 0x18000b40
or edx, esi
mov esi, ecx
and ecx, 0x1f150f4b
not esi
or eax, esi
and esi, 0xe0eaf0b4
or ecx, esi
not eax
mov esi, 0x81e36f8c
xor ecx, edx
mov edx, dword [0x44e5e4]
or eax, ecx
mov ecx, eax
and eax, 0x38606b50
not ecx
and ecx, 0xc79f94af
or eax, ecx
setne al
sete cl
cmp edx, 0xa
setl ah
cmp edx, 9
setg dl
or ah, al
mov ch, dl
xor ch, cl
mov dh, ch
xor dh, dl
or dl, cl
mov al, dl
or dl, ah
and dh, ch
xor al, ah
xor dl, 1
mov cl, dh
or dl, al
xor cl, 1
mov eax, edx
and dl, cl
xor al, 1
or cl, al
and al, dh
or al, dl
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x23d3160b
cmovne eax, esi
test cl, 1
cmovne eax, edi
test dl, 1
cmove eax, esi
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
movzx eax, byte [esp + 0x1c]
and eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, ecx
and ecx, 0x96ca4854
not eax
and eax, 0x6935b7ab
or eax, ecx
mov edx, eax
mov ecx, eax
xor eax, 0x6935b9ab
xor edx, 0x10404010
xor ecx, 0x6935b7ab
or edx, 0x87ab88cc
mov edi, ecx
and ecx, 0xe00
mov esi, edx
or edi, 0x78547733
and edx, 0x803ba856
or eax, ecx
not esi
mov ecx, eax
and eax, 0xdd9bcc8
and esi, 0x78445721
not ecx
or esi, edx
mov edx, edi
and edi, 0x803ba856
and ecx, 0xf2264337
not edx
or eax, ecx
and edx, 0x7800088
xor eax, 0xdd9bcc8
or edx, edi
xor edx, esi
mov esi, edx
and edx, 0x78547933
not esi
and esi, 0x87ab86cc
or edx, esi
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
and eax, 0x80808200
not ecx
mov edx, ecx
or ecx, 0xe8b78200
and edx, 0x68370000
or eax, edx
mov edx, eax
xor eax, 0x7750708c
xor edx, 0x800200
and eax, 0xf750f08c
and edx, 0x8a70200
or edx, eax
mov eax, ecx
and ecx, 0xf750f08c
not eax
and eax, 0x80d73
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0x2598619c
not ecx
and ecx, 0xda679e63
or eax, ecx
mov ecx, 0x98733aa1
xor eax, 0xcd2fe39c
cmp eax, 0x800
mov eax, 0xa7c1976d
cmove eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov eax, 0x5a98200d
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
lea ecx, [ebp + 0x10]
lea edi, [esp + 0xd0]
mov edx, ecx
mov ecx, dword [ecx]
mov edx, dword [edx + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edi
mov esi, ecx
mov dword [esp], ecx
call fcn.00415700
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
movsx ecx, byte [ebp + 0x1c]
mov eax, dword [esp + 0xc4]
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00415570
movsd xmm0, qword [esp + 0xd0]
lea eax, [ebp + 0x10]
mov dword [esp + 0x20], 0
movsd qword [eax], xmm0
mov eax, 0x54f4d5ee
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, 0xf0dbf165
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x24]
mov eax, 0x3ef140f6
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, ecx
and ecx, 0xb88f239f
not eax
and eax, 0x4770dc60
or ecx, eax
mov edx, ecx
xor ecx, 0x4770dc60
mov eax, ecx
xor edx, 0x80f020c
and ecx, 0xf3903d93
or eax, 0x1c0
and edx, 0xc6fc26c
mov esi, eax
or edx, ecx
mov ecx, eax
not esi
and ecx, 0x34fc19e1
and esi, 0xcb03e61e
or esi, ecx
mov ecx, edx
xor edx, 0xf3903c53
xor ecx, 0x803c20c
or eax, edx
and edx, 0x34fc19e1
and ecx, 0xcb03e61e
not eax
or ecx, edx
xor ecx, esi
or eax, ecx
mov ecx, eax
xor ecx, 0x8084227f
and ecx, eax
not eax
and eax, 0x8084227f
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0xbee8de06
not eax
and eax, 0x411721f9
or ecx, eax
xor ecx, 0x3e6cfc79
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb4]
cmp eax, 0x40
setne al
sete cl
cmp edx, 0x100
sete dl
setne ah
and cl, ah
and dl, al
or dl, cl
mov ecx, eax
xor al, ah
and cl, ah
xor dl, 1
or al, cl
mov ecx, edx
or dl, al
xor cl, al
mov eax, 0xde4ec2f9
not dl
or dl, cl
mov ecx, 0x10d4aabb
test dl, 1
cmovne eax, ecx
cmovne eax, ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esp + 0xa3], al
mov edx, dword [ebp + 0x24]
mov eax, 0x3ef140f6
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov dword [esp + 0xcc], ebx
mov ecx, 0x27495808
mov edx, 0x130f9650
mov eax, dword [esp + 0xcc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xd0], eax
mov eax, 0x7da6ac33
cmova ecx, eax
nop dword [eax]
cmp edx, 0x7da6ac33
je 0x414569
cmp edx, 0x27495808
je 0x414581
cmp edx, 0x130f9650
jne 0x414540
mov eax, dword [esp + 0xd0]
mov edx, ecx
cmp edx, 0x7da6ac33
jne 0x414548
mov eax, dword [esp + 0xcc]
mov edx, 0x27495808
mov eax, dword [eax]
cmp edx, 0x7da6ac33
jne 0x414548
jmp 0x414569
lea ecx, [ebp + 0x10]
mov esi, ecx
mov ecx, dword [ecx]
mov edx, dword [esi + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
lea edx, [esp + 0xd0]
mov ecx, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00415700
movsd xmm0, qword [esp + 0xd0]
mov eax, 0x54f4d5ee
movsd qword [esi], xmm0
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x20], ecx
cmp eax, 0x175b9b86
jle 0x41301b
jmp 0x413ce0
mov eax, dword [ebp + 0x20]
mov ecx, 0x4613cbef
movsx eax, byte [eax]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
cmp eax, 0x2b
mov eax, 0xc9247259
cmove eax, ecx
mov cl, 1
jmp 0x413009
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xcc], ebx
mov edi, 0x27495808
mov ebx, 0x130f9650
mov esi, dword [esp + 0xcc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xd0], esi
mov esi, 0x7da6ac33
cmova edi, esi
nop dword [eax]
cmp ebx, 0x7da6ac33
je 0x414699
cmp ebx, 0x27495808
je 0x4146b1
cmp ebx, 0x130f9650
jne 0x414670
mov esi, dword [esp + 0xd0]
mov ebx, edi
cmp ebx, 0x7da6ac33
jne 0x414678
mov esi, dword [esp + 0xcc]
mov ebx, 0x27495808
mov esi, dword [esi]
cmp ebx, 0x7da6ac33
jne 0x414678
jmp 0x414699
add esi, ecx
lea ecx, [ebp + 0x10]
sub eax, edx
lea edx, [esp + 0xd0]
movsd xmm0, qword [ecx]
mov edi, ecx
mov ecx, dword [ebp + 8]
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov dword [esp + 4], edx
mov esi, ecx
mov dword [esp], ecx
call fcn.00415700
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov edx, dword [ebp + 0x18]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
movsx edx, byte [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
call fcn.00415570
lea eax, [esp + 0xd8]
mov esi, 0xdd0d2688
lea edi, [esp + 0xf0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd0]
mov eax, 0x59b2124d
nop dword [eax]
cmp eax, 0xa1c48b1e
je 0x4147cd
cmp eax, 0xdd0d2688
je 0x4147a1
cmp eax, 0x59b2124d
jne 0x414770
mov eax, dword [esp + 0xd0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xa1c48b1e
cmova eax, esi
cmp eax, 0xa1c48b1e
jne 0x414777
jmp 0x4147cd
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xd0]
mov ecx, dword [ecx + 0x14]
mov dword [esp], eax
inc ecx
mov dword [esp + 4], ecx
call fcn.00407810
mov eax, 0xa1c48b1e
cmp eax, 0xa1c48b1e
jne 0x414777
mov eax, dword [esp + 0xd0]
mov esi, 0xdd0d2688
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0xd0]
mov byte [eax], 0
mov eax, dword [esp + 0x94]
mov dword [esp + 0xd0], edi
mov eax, dword [esp + 0xd0]
mov eax, 0x59b2124d
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xa1c48b1e
je 0x41487d
cmp eax, 0xdd0d2688
je 0x414851
cmp eax, 0x59b2124d
jne 0x414820
mov eax, dword [esp + 0xd0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xa1c48b1e
cmova eax, esi
cmp eax, 0xa1c48b1e
jne 0x414827
jmp 0x41487d
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xd0]
mov ecx, dword [ecx + 0x14]
mov dword [esp], eax
inc ecx
mov dword [esp + 4], ecx
call fcn.00407810
mov eax, 0xa1c48b1e
cmp eax, 0xa1c48b1e
jne 0x414827
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0xd0]
mov byte [eax], 0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.0041d6b9
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret