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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [0x44e834]
xor eax, ebp
mov dword [esp + 0x88], eax
mov eax, dword [ecx + 0x14]
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x7d5eecb0
and edx, 0x82a1134f
or eax, edx
mov edx, eax
xor eax, 0x82a1134f
xor edx, 0x3500cc80
mov esi, eax
and esi, 0x48df317a
and edx, 0xb720ce85
or edx, esi
mov esi, ecx
and ecx, 0xb720ce85
not esi
or eax, esi
and esi, 0x48df317a
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 0x7a172b53
not edx
mov esi, ecx
and ecx, eax
xor eax, 0xffffbfff
and esi, edx
and edx, 0x4000
mov edi, esi
or eax, edx
and edi, ecx
xor ecx, esi
mov edx, eax
and eax, 0xb3bb968b
or ecx, edi
not edx
mov esi, ecx
and ecx, 0x2c9ca31f
and edx, 0x4c446974
not esi
or eax, edx
and esi, 0xd3635ce0
or ecx, esi
mov edx, ecx
xor ecx, 0xa97437b3
xor edx, 0x4401c048
mov esi, ecx
and esi, 0x13ce2a14
and edx, 0xec31d5eb
or edx, esi
mov esi, eax
xor eax, 0x4c446974
xor esi, 0xa031948b
or ecx, eax
and eax, 0x13ce2a14
and esi, 0xec31d5eb
not ecx
or esi, eax
mov al, byte [ebp + 0x1c]
xor esi, edx
or ecx, esi
mov esi, 0xd749cb82
mov edx, ecx
and ecx, 0xc41a380
not edx
and edx, 0xf3be5c7f
or edx, ecx
mov ecx, edx
xor edx, 0x2134003f
xor ecx, 0x8410180
and edx, 0x2534a23f
and ecx, 0xdacb5dc0
or edx, ecx
mov ecx, edx
xor edx, 0x2120a218
xor ecx, 0x98cb0c00
and edx, 0x6320f3d8
and ecx, 0x9cdf0c27
or ecx, edx
mov edx, 0xe3798f4f
xor ecx, 0x9cdf0c27
test al, al
movzx eax, al
mov dword [esp + 0x38], ecx
mov ecx, 0x1ae6871
mov dword [esp + 0x24], eax
mov eax, 0xe7eabbc5
cmovne edx, ecx
mov dword [esp + 0x28], edx
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
lea ecx, [esp + 0x58]
call fcn.00407c00
mov eax, 0x9bb9fd7
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x1ae6870
jle 0x411a30
cmp eax, 0x57fd96e0
jle 0x4113a0
cmp eax, 0x65ae1543
jg 0x411408
cmp eax, 0x57fd96e1
je 0x411423
cmp eax, 0x64e9ce98
jne 0x4112f0
lea edx, [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov edi, 0xb9d39158
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x50]
cmp ecx, 0xf
mov ecx, 0xad7ba9ae
mov dword [esp + 0x58], edx
mov edx, 0xdcf4a5de
cmova edx, ecx
nop word cs:[eax + eax]
cmp edi, 0xad7ba9ae
je 0x41138a
cmp edi, 0xdcf4a5de
je 0x4116bd
cmp edi, 0xb9d39158
jne 0x411360
mov ecx, dword [esp + 0x58]
mov edi, edx
cmp edi, 0xad7ba9ae
jne 0x411368
mov ecx, dword [esp + 0x50]
mov edi, 0xdcf4a5de
mov ecx, dword [ecx]
cmp edi, 0xad7ba9ae
jne 0x411368
jmp 0x41138a
cmp eax, 0x1ae6871
je 0x4119d1
cmp eax, 0x9bb9fd7
je 0x4119ff
cmp eax, 0x18cc616f
jne 0x4112f0
lea eax, [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
movsx edi, byte [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
movsd xmm0, qword [eax]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x30]
mov eax, dword [ecx]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x24]
mov dword [esp], edi
mov dword [esp + 0x14], edx
call dword [eax + 0x24]
sub esp, 0x18
jmp 0x4123a7
cmp eax, 0x65ae1544
je 0x411ab5
cmp eax, 0x79f29cdb
jne 0x4112f0
jmp 0x412557
lea eax, [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], ecx
mov ecx, 0x24d175b0
nop dword [eax]
cmp ecx, 0x74b2ca60
je 0x411480
cmp ecx, 0x2f68d6ab
je 0x411adf
cmp ecx, 0x24d175b0
jne 0x411440
mov dword [esp + 0x50], eax
mov ecx, 0x74b2ca60
mov edx, 0x2f68d6ab
cmp dword [esp + 0x50], 0
cmove ecx, edx
cmp ecx, 0x74b2ca60
jne 0x411448
nop word [eax + eax]
mov eax, dword [0x44f588]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
and ecx, 0xa516491
not edx
and eax, 1
mov edi, edx
and edx, 0xf5ae9b6e
and edi, 0xfffffffe
or ecx, edx
or eax, edi
mov edi, eax
and eax, 0x8bde9750
not edi
and edi, 0x742168af
or eax, edi
mov edi, eax
xor eax, 0x742168af
xor edi, 0x1c00150
mov edx, eax
and edx, 0xce1f9e0b
and edi, 0x31e061f4
or edi, edx
mov edx, ecx
xor ecx, 0xf5ae9b6e
xor edx, 0x406090
or eax, ecx
and ecx, 0xce1f9e0b
and edx, 0x31e061f4
not eax
or edx, ecx
xor edx, edi
mov edi, dword [0x44f58c]
or eax, edx
cmp eax, 0xffffffff
setne cl
sete ah
sete byte [esp + 0x57]
cmp edi, 9
setg dl
cmp edi, 0xa
mov edi, 0x26614e81
setl al
setl byte [esp + 0x48]
xor cl, ah
xor dl, ah
and cl, ah
xor dl, 1
xor cl, 1
mov ch, cl
xor cl, al
or ch, al
not cl
xor ch, 1
and cl, al
mov dh, ch
and dh, cl
xor cl, ch
mov ch, al
xor al, ah
and ch, ah
mov ah, dl
or cl, dh
or al, ch
xor al, 1
and ah, al
xor al, dl
or al, ah
mov edx, eax
xor dl, 1
mov ah, dl
and ah, al
xor dl, ah
xor ah, 1
or ah, al
xor ah, 1
or ah, dl
mov edx, 0x26614e81
xor ah, cl
mov al, ah
xor al, 1
and cl, al
xor al, cl
test al, 1
cmovne edx, esi
test ah, 1
mov eax, edx
cmovne eax, edi
test cl, 1
mov ecx, 0x5439a140
cmove eax, edx
nop word cs:[eax + eax]
nop
cmp ecx, 0x26614e80
jg 0x4115d0
cmp ecx, 0xd749cb82
je 0x41167d
cmp ecx, 0x7c954b4
jne 0x4115a0
mov ecx, eax
cmp ecx, 0x26614e80
jle 0x4115a8
nop word cs:[eax + eax]
cmp ecx, 0x26614e81
je 0x4116a0
cmp ecx, 0x5439a140
jne 0x4115a0
movzx edx, byte [esp + 0x57]
mov ch, byte [esp + 0x48]
mov edi, 0xd749cb82
mov esi, 0xd749cb82
mov dh, dl
xor dh, 1
mov bl, dh
mov cl, dh
xor dh, ch
xor dh, 1
and dh, ch
xor ch, 1
and bl, ch
xor cl, ch
xor ch, dl
or cl, bl
xor ch, 1
mov ebx, ecx
and ch, dl
mov dl, dh
and dl, ch
xor ch, dh
xor bl, 1
or ch, dl
mov edx, ebx
and dl, cl
mov dh, dl
xor dl, bl
xor dh, 1
or dh, cl
xor dh, 1
or dh, dl
mov dl, dh
xor dl, 1
and dl, ch
xor ch, 1
and dh, ch
or dh, dl
mov dl, cl
and dl, ch
xor ch, cl
or ch, dl
mov dl, ch
xor dl, dh
test ch, 1
mov ecx, 0x7c954b4
cmovne ecx, edi
test dh, 1
cmove ecx, edi
test dl, 1
mov edi, 0x7c954b4
cmove ecx, edi
cmp ecx, 0x26614e80
jle 0x4115a8
jmp 0x4115d0
mov ecx, 0x7c954b4
cmp ecx, 0x26614e80
jle 0x4115a8
jmp 0x4115d0
movsx eax, byte [ebp + 0x18]
lea ecx, [esp + 0x58]
mov dword [esp], eax
call fcn.004175f0
sub esp, 4
mov eax, dword [esp + 0x50]
dec eax
jmp 0x411437
lea edx, [ebp + 0xc]
mov edi, edx
mov edx, dword [edx]
mov edi, dword [edi + 4]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edi
mov edx, 0xe8fad086
nop word cs:[eax + eax]
nop
cmp edx, 0xe1d50b6e
je 0x411b09
cmp edx, 0x3f9bb3ff
je 0x411730
cmp edx, 0xe8fad086
jne 0x4116e0
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
mov edx, 0x3f9bb3ff
mov edi, 0xe1d50b6e
cmp dword [esp + 0x48], 0
cmove edx, edi
cmp edx, 0xe1d50b6e
jne 0x4116ec
jmp 0x411b09
mov eax, dword [esp + 0x50]
mov ecx, dword [0x44f588]
lea edi, [ecx - 1]
mov al, byte [eax]
imul edi, ecx
mov ecx, edi
and edi, 0x5900420c
not ecx
mov edx, ecx
or ecx, 0x5b90520d
and edx, 0x2901001
or edi, edx
mov edx, ecx
and ecx, 0xf16d9458
mov ebx, edi
xor edi, 0xa06d9450
not edx
xor ebx, 0x8004204
and edx, 0x40229a2
and edi, 0xf16d9458
and ebx, 0xa904205
or edx, ecx
or ebx, edi
xor edx, ebx
mov ecx, edx
and edx, 0x76ba4453
not ecx
and ecx, 0x8945bbac
or edx, ecx
mov edi, edx
and edx, 1
xor edi, 0xd2d5e9a1
mov ecx, edi
and edi, 0xfffffffe
or ecx, 1
or edx, edi
mov ebx, ecx
mov edi, ecx
not ebx
and edi, 0x128ae8bf
and ebx, 0xed751740
or ebx, edi
mov edi, edx
and edx, 0xed751740
not edi
or ecx, edi
and edi, 0x128ae8bf
or edx, edi
not ecx
mov edi, 0x26614e81
xor edx, ebx
or ecx, edx
mov edx, ecx
and ecx, 0xb890df8d
not edx
and edx, 0x476f2072
or ecx, edx
mov edx, ecx
and ecx, 0x476f2072
not edx
and edx, 0xb890df8d
or ecx, edx
mov edx, ecx
and ecx, 0x3b4434e5
not edx
and edx, 0xc4bbcb1a
or ecx, edx
mov edx, ecx
xor ecx, 0x800b0118
xor edx, 0x3043480
and ecx, 0xb84b017d
and edx, 0x47b4fe82
or edx, ecx
mov ecx, edx
xor edx, 0x2344280
xor ecx, 0xb0420145
and edx, 0xa3d42b8
and ecx, 0xf5c2bd47
or ecx, edx
mov edx, dword [0x44f58c]
xor ecx, 0xf5c2bd47
sete ah
setne ch
sete byte [esp + 0x4f]
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
setl byte [esp + 0x57]
mov dh, cl
xor cl, ch
and ch, dl
or dl, ah
and dh, ah
xor dl, 1
or dh, ch
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov dl, cl
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
mov dl, dh
or cl, ah
xor dl, 1
mov ah, dh
and dl, cl
xor cl, 1
xor ah, cl
and cl, dh
and ah, dh
or cl, dl
mov dl, ah
xor dl, cl
test dl, 1
mov edx, 0xd749cb82
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test ah, ah
cmove ecx, edx
mov edx, 0x5439a140
nop word cs:[eax + eax]
cmp edx, 0x26614e80
jg 0x411910
cmp edx, 0xd749cb82
je 0x41198b
cmp edx, 0x7c954b4
jne 0x4118e0
mov edx, ecx
cmp edx, 0x26614e80
jle 0x4118e8
nop word cs:[eax + eax]
cmp edx, 0x26614e81
je 0x4119b0
cmp edx, 0x5439a140
jne 0x4118e0
movzx edx, byte [esp + 0x4f]
mov ah, byte [esp + 0x57]
mov edi, 0x7c954b4
mov ebx, edx
xor bl, 1
mov dh, bl
mov bh, bl
or bl, ah
xor ah, 1
and dh, ah
xor bh, ah
or ah, dl
xor bl, 1
xor ah, 1
or bh, dh
mov dl, ah
and dl, bl
xor bl, ah
or bl, dl
mov dl, bh
xor dl, bl
xor bl, 1
or bl, bh
xor dl, 1
mov ah, bl
xor ah, dl
test dl, 1
mov edx, 0xd749cb82
cmovne edx, edi
test bl, 1
cmovne edx, esi
test ah, 1
cmove edx, edi
cmp edx, 0x26614e80
jle 0x4118e8
jmp 0x411910
mov edx, 0x7c954b4
cmp edx, 0x26614e80
jle 0x4118e8
jmp 0x411910
movsx eax, al
lea ecx, [esp + 0x58]
mov dword [esp], eax
call fcn.004175f0
sub esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
dec eax
inc ecx
jmp 0x4116cf
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x58]
mov edi, edx
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 0x1c]
sub esp, 4
mov eax, 0x461ee1bc
mov dword [esp + 0x50], edi
cmp eax, 0x3c6870f3
jle 0x411eb7
jmp 0x411ed0
mov eax, dword [ebp + 0x14]
mov ecx, eax
mov eax, dword [eax + 0x24]
cmp dword [ecx + 0x20], 1
mov ecx, 0xbe0434ed
sbb eax, 0
mov eax, 0x65ae1544
cmovl eax, ecx
cmp eax, 0x1ae6870
jg 0x4112fb
nop word cs:[eax + eax]
cmp eax, 0xd36e2312
jg 0x411a80
cmp eax, 0xa33bc1a8
je 0x411f02
cmp eax, 0xa5a84cc3
je 0x412044
cmp eax, 0xbe0434ed
jne 0x4112f0
mov eax, 0xa33bc1a8
mov dword [esp + 0x20], 0
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
cmp eax, 0xd36e2313
je 0x412339
cmp eax, 0xe3798f4f
je 0x41235f
cmp eax, 0xe7eabbc5
jne 0x4112f0
cmp dword [esp + 0x38], 0
mov eax, 0xa5a84cc3
mov ecx, 0x18cc616f
jmp 0x412031
mov eax, dword [esp + 0x80]
mov ecx, dword [ebp + 0x14]
cmp eax, dword [ecx + 0x20]
mov eax, 0xbe0434ed
mov ecx, 0xd36e2313
cmovb eax, ecx
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
movsd xmm0, qword [esp + 0x58]
lea eax, [ebp + 0xc]
mov dword [esp + 0x1c], 0
movsd qword [eax], xmm0
mov eax, 0x64e9ce98
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edi, dword [ebp + 0x14]
lea edx, [ebp + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], ecx
mov ecx, 0x24d175b0
nop dword [eax + eax]
cmp ecx, 0x74b2ca60
je 0x411b80
cmp ecx, 0x2f68d6ab
je 0x41238d
cmp ecx, 0x24d175b0
jne 0x411b40
mov dword [esp + 0x50], eax
mov ecx, 0x74b2ca60
mov edx, 0x2f68d6ab
cmp dword [esp + 0x50], 0
cmove ecx, edx
cmp ecx, 0x74b2ca60
jne 0x411b48
nop word [eax + eax]
mov ecx, dword [0x44f588]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
xor ecx, 0xfffffffe
mov edi, edx
and ecx, eax
and edx, 0xb0b5de7f
and eax, 0x4f4a2180
and edi, 0xfffffffe
or eax, edx
mov ebx, edi
and ebx, ecx
xor ecx, edi
or ecx, ebx
mov edx, ecx
and ecx, 0xdbccd294
not edx
mov edi, edx
and edi, 0x24332d6b
or ecx, edi
mov edi, eax
xor eax, 0x20310c6b
xor edi, 0x4b480080
and eax, 0x24332d6b
and edi, 0xdbccd294
or edi, eax
xor edi, ecx
mov ecx, dword [0x44f58c]
not edi
or edi, edx
cmp edi, 0xffffffff
mov edi, 0x26614e81
sete ah
setne al
sete byte [esp + 0x57]
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl ch
setl byte [esp + 0x48]
mov dl, dh
mov cl, dh
xor dh, ah
not dh
and dl, al
xor cl, al
xor al, ch
or cl, dl
and dh, ah
not al
mov dl, cl
and al, ch
xor dh, 1
xor dl, 1
xor al, 1
mov ah, dh
mov ch, dl
xor ah, al
or al, dh
xor al, 1
and ch, cl
or al, ah
mov bl, ch
xor ch, dl
mov ah, al
xor bl, 1
mov dh, al
or bl, cl
xor ah, 1
xor bl, 1
and dh, ah
xor ah, cl
or bl, ch
mov ch, dh
xor dh, al
and ch, al
or al, dl
xor al, 1
or dh, ch
or al, ah
xor dh, bl
mov ebx, 0x26614e81
mov ecx, eax
xor cl, dh
test cl, 1
cmovne ebx, esi
test al, 1
mov eax, 0x5439a140
cmovne edi, ebx
test dh, 1
cmove edi, ebx
nop word cs:[eax + eax]
nop
cmp eax, 0x26614e80
jg 0x411cc0
cmp eax, 0xd749cb82
je 0x411e1c
cmp eax, 0x7c954b4
jne 0x411c90
mov eax, edi
cmp eax, 0x26614e80
jle 0x411c97
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x26614e81
je 0x411e40
cmp eax, 0x5439a140
jne 0x411c90
movzx edx, byte [esp + 0x57]
mov ah, byte [esp + 0x48]
mov esi, 0xd749cb82
mov ebx, edx
mov al, dl
mov byte [esp + 0x1a], dl
mov cl, ah
mov byte [esp + 0x1b], ah
xor bl, 1
xor cl, 1
and dl, bl
or al, bl
mov bh, cl
xor dl, 1
mov ch, al
or bh, ah
mov dh, dl
or dl, bl
xor ch, 1
xor dh, bl
xor dl, 1
or dl, dh
mov dh, bh
mov ah, dl
xor dl, 1
xor dh, 1
and dl, ch
and ah, al
mov ch, byte [esp + 0x1b]
or dl, ah
mov ah, al
xor al, bl
and ah, bl
or al, ah
mov ah, al
xor byte [esp + 0x1a], ch
xor ah, dl
xor dl, 1
or dl, al
mov al, dh
xor ah, 1
xor dl, 1
and al, bh
or dl, ah
mov ah, al
xor al, dh
or dh, ch
and ch, cl
xor ah, 1
xor ch, 1
xor dh, 1
or ah, bh
xor bh, cl
xor ah, 1
or dh, bh
or ah, al
mov al, ch
or ch, cl
xor dh, 1
xor al, cl
xor ch, 1
or ch, al
mov al, ah
xor al, 1
and al, ch
xor ch, 1
and ch, ah
or ch, al
mov al, ch
and al, dh
xor dh, ch
or dh, al
xor dh, 1
mov al, dh
xor dh, dl
or al, dl
xor dh, 1
xor al, 1
and dh, dl
mov dl, al
and dl, dh
xor dh, al
mov eax, ebx
or dh, dl
mov dl, byte [esp + 0x1a]
xor al, cl
or cl, bl
xor cl, 1
or cl, al
xor cl, 1
mov eax, edx
and al, cl
xor cl, dl
or cl, al
mov eax, ecx
xor al, 1
mov dl, al
and dl, cl
xor al, dl
xor dl, 1
or dl, cl
xor dl, 1
or dl, al
mov al, dh
mov ecx, edx
xor cl, 1
xor al, cl
and cl, dl
mov ah, cl
xor cl, dl
xor al, 1
and ah, dl
or dl, dh
xor dl, 1
or cl, ah
or dl, al
xor cl, dh
mov eax, 0x7c954b4
mov ch, dl
xor ch, cl
test dl, 1
mov edx, 0xd749cb82
cmovne eax, edx
test cl, 1
cmove eax, edx
test ch, 1
mov edx, 0x7c954b4
cmove eax, edx
cmp eax, 0x26614e80
jle 0x411c97
jmp 0x411cc0
mov eax, 0x7c954b4
cmp eax, 0x26614e80
jle 0x411c97
jmp 0x411cc0
movsx eax, byte [ebp + 0x18]
lea ecx, [esp + 0x58]
mov dword [esp], eax
call fcn.004175f0
sub esp, 4
mov eax, dword [esp + 0x50]
dec eax
jmp 0x411b36
lea ecx, [esp + 0x70]
call fcn.00407c00
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm2
mov eax, 0x3c6870f4
nop word [eax + eax]
cmp eax, 0x3c6870f3
jg 0x411ed0
cmp eax, 0xde93ea0c
je 0x411ea2
cmp eax, 0xc3d5c60
jne 0x411eb0
jmp 0x411e5d
cmp eax, 0x3c6870f4
je 0x4112d4
cmp eax, 0x461ee1bc
jne 0x411eb0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x70]
mov edx, 0xde93ea0c
cmp eax, ecx
mov eax, 0xc3d5c60
cmove eax, edx
cmp eax, 0x3c6870f3
jle 0x411eb7
jmp 0x411ed0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x14]
mov edx, ecx
mov eax, ecx
xor edx, 0xb973c290
and eax, 0x99238010
and edx, ecx
not ecx
and ecx, 0x20504280
mov edi, edx
and edx, 0xa70d869c
or eax, ecx
not edi
mov ecx, eax
xor eax, 0x66dc7fef
mov ebx, eax
xor ecx, 0x81018010
or eax, edi
and edi, 0x58f27963
and ebx, 0x58f27963
and ecx, 0xa1018290
or edx, edi
not eax
or ecx, ebx
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xb973c290
not ecx
and ecx, 0x468c3d6f
or eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0x1248c600
not edx
and ecx, 0x32471b04
and edx, 0xcdb8e4fb
or ecx, edx
mov edx, ecx
mov edi, ecx
xor ecx, 0x32471ac4
xor edx, 0x32471b04
xor edi, 0x200fdd04
and edi, edx
and edx, 0x1c0
mov ebx, edi
or ecx, edx
and ebx, eax
xor eax, edi
not ecx
or eax, ebx
mov edi, eax
and eax, 0x4c1391f9
not edi
and edi, 0xb3ec6e06
or eax, edi
xor eax, 0xa1a4a9c6
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
mov edx, ecx
and ecx, 0x188021a3
not eax
and edx, 0x276f584c
and eax, 0xc0108610
or edx, eax
xor edx, 0x276f584c
or ecx, edx
mov edx, dword [esp + 0x44]
mov eax, ecx
and ecx, 0xe77fde5c
not eax
and eax, 0x188021a3
or ecx, eax
mov dword [esp + 0x1c], edx
mov eax, ecx
and ecx, 0x2399723c
not eax
and eax, 0xdc668dc3
or eax, ecx
mov ecx, 0x64e9ce98
xor eax, 0x2399723c
cmp eax, 0xffffffbf
mov eax, 0x57fd96e1
cmove eax, ecx
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
mov ecx, dword [0x44f510]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
mov ebx, eax
and eax, 0x46c8fbe7
not ecx
and edi, 0xda9ea6b8
or ebx, 0x1509b04c
mov edx, ecx
and ebx, 0x1509b04d
and ecx, 0xb9370418
and edx, 0x25615947
or eax, ecx
or edi, edx
xor eax, 0x46c8fbe7
mov edx, edi
xor edi, 0x5011044
xor edx, 0xca9606b0
and edi, 0x1509b04c
and edx, 0xeaf64fb2
or edx, edi
xor ebx, edx
mov edx, ebx
and ebx, 0xb6552e34
not edx
and edx, 0x49aad1cb
or ebx, edx
xor ebx, 0xb6552e34
mov ecx, ebx
and ecx, eax
xor eax, ebx
or eax, ecx
cmp eax, 0xffffffff
mov eax, dword [0x44f514]
sete byte [esp + 0x48]
cmp eax, 0xa
mov eax, 0x10564942
setl byte [esp + 0x50]
nop
cmp eax, 0x33fc5574
jg 0x412160
cmp eax, 0xcd29ac8f
je 0x4123bc
cmp eax, 0x10564942
jne 0x4120e0
mov al, byte [esp + 0x48]
mov cl, byte [esp + 0x50]
mov ebx, 0x3b9d619a
mov edi, 0x33fc5575
mov ah, cl
mov edx, eax
mov ch, al
xor ah, 1
xor dl, 1
xor ch, cl
or ah, al
or al, cl
or dl, cl
mov cl, ah
xor al, 1
xor cl, dl
or dl, ah
or al, ch
xor dl, 1
xor al, 1
or dl, cl
xor dl, al
mov ecx, edx
xor cl, 1
and cl, al
mov eax, 0x33fc5575
mov ch, cl
xor ch, dl
test dl, 1
cmovne eax, ebx
test cl, 1
cmove eax, edi
test ch, 1
cmovne eax, ebx
cmp eax, 0x33fc5574
jle 0x4120e7
nop dword [eax + eax]
cmp eax, 0x33fc5575
je 0x412312
cmp eax, 0x3b9d619a
jne 0x4120e0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x44f510]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
not ecx
and edi, 0xbf51effe
mov edx, ecx
and ecx, 0x40ae1001
and edx, eax
or ecx, edi
mov edi, edx
and edx, 0x40ae1001
not edi
or eax, edi
and edi, 0xbf51effe
or edx, edi
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
mov edx, eax
and eax, 0x321fab55
not ecx
and edx, 0x640c71f
and ecx, 0xf9bf38e0
or edx, ecx
mov ecx, edx
xor edx, 0x1ab30a0
xor ecx, 0x640c71f
and edx, 0x1abf4b8
mov edi, ecx
and edi, 0xcde054aa
or eax, edi
mov edi, eax
and eax, 0x66490c5a
not edi
and edi, 0x99b6f3a5
or eax, edi
mov edi, ecx
and ecx, 1
and edi, 0xfe540b47
or edi, edx
mov edx, eax
xor eax, 0x5456a70e
xor edi, 0x1abf4b9
xor edx, 0x2ba008c0
or ecx, edi
mov edi, eax
and edx, 0x6be68ccc
and edi, 0x94197333
or eax, ecx
or edx, edi
mov edi, ecx
and ecx, 0x94197333
not eax
not edi
and edi, 0x6be68ccc
or edi, ecx
xor edi, edx
or eax, edi
mov edi, 0x33fc5575
mov ecx, eax
xor ecx, 0x605f597f
and ecx, eax
not eax
and eax, 0x605f597f
mov edx, eax
and edx, ecx
xor ecx, eax
mov eax, dword [0x44f514]
or ecx, edx
mov edx, ecx
and ecx, 0x605f597f
not edx
and edx, 0x9fa0a680
or ecx, edx
sete dl
setne ch
cmp eax, 9
setg cl
cmp eax, 0xa
setl ah
mov dh, cl
mov al, ah
xor dh, ch
xor al, cl
or cl, ch
and al, ah
xor cl, 1
xor ah, dl
or cl, dh
or ch, al
xor al, 1
or al, dl
xor cl, 1
mov dl, ah
and dl, cl
xor cl, ah
mov ebx, eax
or al, ch
or cl, dl
xor bl, ch
xor al, 1
mov edx, ecx
or al, bl
mov ebx, 0xcd29ac8f
xor dl, 1
xor al, 1
mov ah, dl
and ah, cl
xor dl, ah
xor ah, 1
or ah, cl
mov ecx, eax
xor ah, 1
or ah, dl
xor ah, 1
or cl, ah
xor al, ah
mov edx, ecx
xor dl, al
test dl, 1
cmovne ebx, edi
test al, 1
mov edi, 0xcd29ac8f
mov eax, ebx
cmovne eax, edi
test cl, 1
jmp 0x412151
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x3b9d619a
cmp eax, 0x33fc5574
jle 0x4120e7
jmp 0x412160
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
sub eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 0xa33bc1a8
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x58]
mov edi, edx
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 0x18]
sub esp, 4
mov eax, 0x461ee1bc
mov dword [esp + 0x50], edi
cmp eax, 0x3c6870f3
jle 0x412447
jmp 0x412460
movsd xmm0, qword [esp + 0x58]
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x70]
movsd qword [eax], xmm0
call fcn.00407c00
mov eax, dword [esp + 0x40]
mov eax, 0x79f29cdb
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
lea eax, [esp + 0x58]
mov dword [esp], eax
call fcn.00415250
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov eax, 0x63e45b60
cmp eax, 0x418db840
jg 0x4124f0
jmp 0x4124b7
lea ecx, [esp + 0x70]
call fcn.00407c00
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm2
mov eax, 0x3c6870f4
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x3c6870f3
jg 0x412460
cmp eax, 0xde93ea0c
je 0x41242e
cmp eax, 0xc3d5c60
jne 0x412440
jmp 0x4123e9
cmp eax, 0x3c6870f4
je 0x4112d4
cmp eax, 0x461ee1bc
jne 0x412440
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x70]
mov edx, 0xde93ea0c
cmp eax, ecx
mov eax, 0xc3d5c60
cmove eax, edx
cmp eax, 0x3c6870f3
jle 0x412447
jmp 0x412460
cmp dword [esp + 0x48], 0
mov eax, 0xa136a264
mov ecx, 0x418db841
cmove eax, ecx
nop word cs:[eax + eax]
nop
cmp eax, 0x418db840
jg 0x4124f0
cmp eax, 0xa136a264
je 0x412500
cmp eax, 0xccd6bf4a
jne 0x4124b0
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x50]
mov dword [esp], 1
call eax
sub esp, 4
mov eax, 0x418db841
cmp eax, 0x418db840
jle 0x4124b7
nop dword [eax]
cmp eax, 0x418db841
je 0x412519
cmp eax, 0x63e45b60
jne 0x4124b0
jmp 0x412492
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x50], eax
mov eax, 0xccd6bf4a
cmp dword [esp + 0x50], 0
jmp 0x41249c
lea eax, [esp + 0x70]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], 0
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
cmp eax, 0x1ae6870
jg 0x4112fb
jmp 0x411a30
mov ecx, dword [esp + 0x88]
xor ecx, ebp
call fcn.0041e74b
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18