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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov eax, dword [0x44d834]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x18]
mov esi, 0x8b8e9cff
xor eax, ebp
test ecx, ecx
mov dword [esp + 0x120], eax
mov eax, 0x7e4b0e3f
cmove esi, eax
lea eax, [edx + ecx]
mov dword [esp + 0x40], eax
mov eax, 0x18f300cd
mov dword [esp + 0x44], esi
mov dword [esp + 0x24], ecx
nop dword [eax]
cmp eax, 0x15d0a064
jle 0x419b60
cmp eax, 0x432ac7ed
jg 0x4194b0
cmp eax, 0x277a9277
jle 0x419555
cmp eax, 0x32591da8
jle 0x4195e8
cmp eax, 0x32591da9
je 0x419736
cmp eax, 0x33b3c23a
je 0x419750
cmp eax, 0x3ffc3d54
jne 0x419450
mov eax, 0x8200af9b
mov dword [esp + 0x38], 0
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x636b1937
jle 0x419592
cmp eax, 0x7138c6c6
jle 0x419624
cmp eax, 0x7138c6c7
je 0x419848
cmp eax, 0x758cedde
je 0x419863
cmp eax, 0x7e4b0e3f
jne 0x419450
movzx eax, byte [esp + 0x24]
and eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x14]
mov ecx, eax
mov esi, eax
and eax, 0xef62ba5f
not ecx
and esi, 0x3000
mov edx, ecx
and ecx, 0x109d45a0
and edx, 0xffffcfff
or eax, ecx
or esi, edx
xor eax, 0xef62ba5f
not esi
mov ecx, esi
and ecx, eax
xor eax, esi
or eax, ecx
mov ecx, eax
and eax, 0xd24403cf
not ecx
and ecx, 0x2dbbfc30
or eax, ecx
mov ecx, 0x33b3c23a
xor eax, 0xd24403cf
cmp eax, 0x3000
mov eax, 0x62010700
jmp 0x41ab8e
cmp eax, 0x226dd373
jg 0x4196d5
cmp eax, 0x15d0a065
je 0x419888
cmp eax, 0x18f300cd
jne 0x419450
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], 0
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x48796a82
jg 0x41970e
cmp eax, 0x432ac7ee
je 0x41990d
cmp eax, 0x4374ef08
jne 0x419450
mov eax, dword [esp + 0x118]
mov ecx, 0x3ffc3d54
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0x24]
cmp dword [ebx + 0x20], 1
sbb eax, 0
mov eax, 0x277a9278
cmovl eax, ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x277a9278
je 0x41992d
cmp eax, 0x296b925f
jne 0x419450
mov eax, dword [esp + 0x80]
cmp eax, 0x2d
sete al
mov dword [esp + 0x24], eax
mov eax, 0x7e4b0e3f
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x636b1938
je 0x419954
cmp eax, 0x6f44f5c1
jne 0x419450
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edx, [esp + 0x108]
mov ecx, dword [esp + 0xa0]
mov esi, 0x7da6ac33
mov edi, 0x130f9650
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], edx
mov edx, 0x27495808
cmova edx, esi
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, 0x7da6ac33
je 0x4196bd
cmp edi, 0x27495808
je 0x41998a
cmp edi, 0x130f9650
jne 0x419690
mov esi, dword [esp + 0xe0]
mov edi, edx
cmp edi, 0x7da6ac33
jne 0x419698
mov esi, dword [esp + 0xdc]
mov edi, 0x27495808
mov esi, dword [esi]
cmp edi, 0x7da6ac33
jne 0x419698
jmp 0x4196bd
cmp eax, 0x226dd374
je 0x4199a2
cmp eax, 0x25dff94a
jne 0x419450
mov eax, dword [ebx + 0x20]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
mov eax, 0x8200af9b
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x48796a83
je 0x419a6c
cmp eax, 0x62010700
jne 0x419450
mov eax, 0xa385d289
mov dword [esp + 0x20], 0x447b66
jmp 0x419fab
cmp byte [esp + 0x8f], 0
mov eax, 0xa385d289
mov ecx, 0xf031e51a
cmovne eax, ecx
jmp 0x419fa3
mov eax, dword [0x44e608]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0xbaa48a46
not eax
and edx, 0x7a8d1ceb
and ecx, eax
and eax, 0x8572e314
or eax, edx
mov edx, eax
xor eax, 0x8572e315
xor edx, 0x8572e314
mov esi, edx
and edx, 1
and esi, 0x455b75b9
or eax, edx
mov edi, esi
not eax
and edi, ecx
xor ecx, esi
or ecx, edi
mov esi, ecx
and ecx, 0x21175080
not esi
and esi, 0xdee8af7f
or ecx, esi
mov esi, 0xfd0e2517
xor ecx, 0x644c2538
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x4f32c2f4
not ecx
and ecx, 0xb0cd3d0b
or eax, ecx
mov ecx, eax
and eax, 0xb0cd3d0b
not ecx
and ecx, 0x4f32c2f4
or eax, ecx
mov ecx, eax
and eax, 0xbe07fcd0
not ecx
mov edx, ecx
and edx, 0x41f8032f
or eax, edx
xor eax, 0x41f8032f
xor ecx, eax
test ecx, eax
sete al
cmp dword [0x44e60c], 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
xor dl, 1
or ah, cl
xor ah, dl
mov cl, ah
not cl
and cl, dl
mov edx, 0xed6396b4
mov al, cl
xor al, ah
test al, 1
cmovne edx, esi
test ah, ah
mov eax, edx
cmovne eax, esi
jmp 0x41a0de
mov eax, dword [esp + 0xc4]
mov ecx, 0xf6d3e68
cmp eax, 0x100
mov eax, 0x48796a83
jmp 0x41ab8e
cmp dword [esp + 0xb4], 0
mov eax, 0x4374ef08
mov ecx, 0x636b1938
cmovg eax, ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xd0]
sub ecx, eax
mov dword [esp + 0xb8], ecx
movsx eax, byte [esp + 0xb3]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], 1
mov dword [esp], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 8], eax
call fcn.00415360
sub esp, 0xc
mov eax, dword [esp + 0xcc]
mov ecx, 0x432ac7ee
inc eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
cmp byte [eax], 0
mov edx, dword [esp + 0xcc]
mov eax, 0xe803a9fa
cmovg eax, ecx
mov dword [esp + 0x34], edx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov ecx, dword [esp + 0xbc]
mov eax, 0xe803a9fa
mov dword [esp + 0x34], ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0xc0]
mov ecx, 0x25dff94a
cmp eax, dword [ebx + 0x20]
mov eax, 0x3ffc3d54
cmovb eax, ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xd0]
mov edx, 0x15d0a065
sub ecx, eax
mov eax, dword [esp + 0xb4]
cmp eax, ecx
mov eax, 0x4374ef08
cmovb eax, edx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov byte [esi + ecx], al
mov eax, 0x226dd374
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
mov esi, 0x2ad9d606
mov dword [esp + 0x28], edx
lea edx, [esp + 0xf0]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0xdc]
cmp dword [esp + 0x104], 0xf
mov dword [esp + 0xe0], edx
mov edx, 0xda316b2c
cmova edx, esi
mov esi, 0x5973397f
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp esi, 0xda316b2c
je 0x419a49
cmp esi, 0x2ad9d606
je 0x419a2f
cmp esi, 0x5973397f
jne 0x419a00
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x30], esi
mov esi, edx
cmp esi, 0xda316b2c
jne 0x419a08
jmp 0x419a49
mov esi, dword [esp + 0xdc]
mov esi, dword [esi]
mov dword [esp + 0x30], esi
mov esi, 0xda316b2c
cmp esi, 0xda316b2c
jne 0x419a08
cmp ecx, dword [ebp + 0x24]
mov edx, dword [esp + 0x28]
cmove edx, eax
mov eax, 0x89916df1
mov dword [esp + 0x28], edx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
lea eax, [esp + 0x108]
mov ecx, 0x27495808
mov edx, 0x130f9650
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], eax
mov eax, 0x7da6ac33
cmova ecx, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x7da6ac33
je 0x419ad9
cmp edx, 0x27495808
je 0x419af1
cmp edx, 0x130f9650
jne 0x419ab0
mov eax, dword [esp + 0xe0]
mov edx, ecx
cmp edx, 0x7da6ac33
jne 0x419ab8
mov eax, dword [esp + 0xdc]
mov edx, 0x27495808
mov eax, dword [eax]
cmp edx, 0x7da6ac33
jne 0x419ab8
jmp 0x419ad9
lea ecx, [ebp + 0x10]
mov esi, ecx
mov ecx, dword [ecx]
mov edx, dword [esi + 4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
lea edx, [esp + 0xe0]
mov ecx, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0x58]
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 + 0xe0]
mov eax, 0xca25d357
movsd qword [esi], xmm0
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x2c], ecx
cmp eax, 0x15d0a064
jg 0x41945b
nop dword [eax]
cmp eax, 0xe0cd4983
jle 0x419c30
cmp eax, 0xfd0e2516
jle 0x419c75
cmp eax, 0x5510792
jle 0x419d1f
cmp eax, 0x5510793
je 0x419fcf
cmp eax, 0xb8bbfd3
je 0x419ff7
cmp eax, 0xf6d3e68
jne 0x419450
lea eax, [esp + 0x108]
mov ecx, 0x27495808
mov edx, 0x130f9650
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], eax
mov eax, 0x7da6ac33
cmova ecx, eax
nop dword [eax + eax]
cmp edx, 0x7da6ac33
je 0x419c0d
cmp edx, 0x27495808
je 0x41a0f3
cmp edx, 0x130f9650
jne 0x419be0
mov eax, dword [esp + 0xe0]
mov edx, ecx
cmp edx, 0x7da6ac33
jne 0x419be8
mov eax, dword [esp + 0xdc]
mov edx, 0x27495808
mov eax, dword [eax]
cmp edx, 0x7da6ac33
jne 0x419be8
jmp 0x419c0d
cmp eax, 0x953a04a0
jle 0x419cbe
cmp eax, 0xc427818a
jle 0x419e15
cmp eax, 0xca25d357
je 0x41abdb
cmp eax, 0xc427818b
jne 0x419450
mov eax, dword [esp + 0x90]
mov ecx, 0x5510793
cmp eax, 0x58
mov eax, 0xa385d289
jmp 0x419fa0
cmp eax, 0xed6396b3
jg 0x419f72
cmp eax, 0xe0cd4984
je 0x41a17e
cmp eax, 0xe803a9fa
jne 0x419450
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x34]
mov eax, 0x89916df1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
cmp eax, 0x8af26a4c
jg 0x419fb4
cmp eax, 0x8200af9b
je 0x41a195
cmp eax, 0x89916df1
jne 0x419450
mov eax, dword [esp + 0x30]
mov ecx, 0x4374ef08
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xcc]
movsx eax, byte [eax]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
cmp eax, 0x7f
mov eax, 0x758cedde
jmp 0x41ab8e
cmp eax, 0xfd0e2517
je 0x41a2ae
cmp eax, 0x14760cf
jne 0x419450
lea eax, [ebp + 0x10]
lea edx, [esp + 0xe0]
mov esi, eax
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
movsx ecx, byte [ebp + 0x1c]
mov eax, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0x78]
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 + 0xe0]
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0x108]
mov edi, 0x130f9650
mov dword [esp + 0xdc], edx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov esi, 0x27495808
mov edx, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], edx
mov edx, 0x7da6ac33
cmova esi, edx
nop word cs:[eax + eax]
nop
cmp edi, 0x7da6ac33
je 0x419dfd
cmp edi, 0x27495808
je 0x41a413
cmp edi, 0x130f9650
jne 0x419dd0
mov edx, dword [esp + 0xe0]
mov edi, esi
cmp edi, 0x7da6ac33
jne 0x419dd8
mov edx, dword [esp + 0xdc]
mov edi, 0x27495808
mov edx, dword [edx]
cmp edi, 0x7da6ac33
jne 0x419dd8
jmp 0x419dfd
cmp eax, 0x953a04a1
je 0x41a479
cmp eax, 0xa385d289
jne 0x419450
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x20]
mov esi, eax
mov dword [esp], eax
call fcn.0042b630
mov dword [esp + 0x98], eax
lea eax, [esp + 0xee]
mov dword [esp + 0x9c], eax
mov edi, eax
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
mov word [eax], 0x2e
call fcn.0042b0d4
mov eax, dword [eax]
mov al, byte [eax]
mov dword [esp + 4], edi
mov dword [esp], esi
mov byte [esp + 0xee], al
call fcn.0042b630
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0xe4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0xe0]
mov dword [esp], eax
call fcn.00414930
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xd8], eax
mov eax, 0xafd67d28
cmp eax, 0xb9fa313
jg 0x419f30
cmp eax, 0xae1892eb
je 0x419ef4
cmp eax, 0xafd67d28
jne 0x419ed0
cmp dword [esp + 0xd8], 0
mov eax, 0xae1892eb
jmp 0x419f14
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0xdc], eax
mov eax, 0x2d1498fe
cmp dword [esp + 0xdc], 0
mov ecx, 0xb9fa314
cmove eax, ecx
cmp eax, 0xb9fa313
jle 0x419ed7
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xb9fa314
je 0x41a63f
cmp eax, 0x2d1498fe
jne 0x419ed0
mov eax, dword [esp + 0xdc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0xdc]
mov dword [esp], 1
call eax
sub esp, 4
mov eax, 0xb9fa314
cmp eax, 0xb9fa313
jle 0x419ed7
jmp 0x419f30
cmp eax, 0xed6396b4
je 0x41a92d
cmp eax, 0xf031e51a
jne 0x419450
mov eax, dword [esp + 0x84]
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + eax], 0x30
mov eax, 0xa385d289
mov ecx, 0x953a04a1
cmove eax, ecx
mov dword [esp + 0x20], 0x447b5b
mov ecx, dword [esp + 0x84]
jmp 0x419fe3
cmp eax, 0x8af26a4d
je 0x41a95e
cmp eax, 0x8b8e9cff
jne 0x419450
jmp 0x41abb0
mov dword [esp + 0x20], 0x447b5b
mov eax, 0xa385d289
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c], ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0x84]
mov ecx, dword [ebp + 0x20]
movsx eax, byte [eax + ecx + 1]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
cmp eax, 0x78
mov eax, dword [0x44e608]
sete byte [esp + 0x97]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
xor esi, 0x1545268a
mov edx, eax
and esi, ecx
and edx, 0x1545268a
mov edi, edx
and edi, esi
xor esi, edx
or esi, edi
mov edx, esi
and esi, 0x7a9c34e3
not edx
and edx, 0x8563cb1c
or esi, edx
mov edx, esi
xor esi, 0x9026ed97
xor edx, 0x6fd91268
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [0x44e60c]
not edx
or edx, esi
mov esi, 0x8af26a4d
cmp edx, 0xffffffff
setne dl
sete ch
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
and cl, dl
mov ah, al
xor ah, ch
and ch, al
and ah, al
xor al, dl
or cl, ch
mov dl, ah
xor ah, al
xor al, 1
xor dl, 1
or al, dl
xor al, 1
or al, ah
mov ah, cl
mov edx, eax
xor ah, 1
and cl, al
not dl
and dl, ah
or cl, dl
mov dl, ah
xor ah, al
and dl, al
or ah, dl
mov edx, 0xe0cd4984
mov al, ah
xor al, cl
test al, 1
cmovne edx, esi
test ah, 1
mov eax, 0xe0cd4984
cmovne eax, edx
test cl, cl
cmove eax, edx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
lea ecx, [ebp + 0x10]
lea edi, [esp + 0xe0]
mov edx, ecx
mov ecx, dword [ecx]
mov edx, dword [edx + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0x68]
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 + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
movsx ecx, byte [ebp + 0x1c]
mov eax, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0x60]
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
jmp 0x41a44c
cmp byte [esp + 0x97], 0
mov eax, 0xc427818b
mov ecx, 0x5510793
jmp 0x41a29b
mov eax, dword [esp + 0x38]
mov dword [esp + 0xd4], eax
mov eax, dword [ebx + 0x14]
mov ecx, eax
or eax, 0xc4020205
not ecx
and eax, 0xfc42c375
mov edx, ecx
and ecx, 0x29d3480
or edx, 0x3addf5f0
or ecx, eax
mov eax, edx
and edx, 0xfc42c375
not eax
and eax, 0x120080a
or eax, edx
xor eax, ecx
mov ecx, eax
and eax, 0x3addf5f0
not ecx
and ecx, 0xc5220a0f
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 0x1c0
not edx
and ecx, eax
and edx, 0xa0380568
and eax, 0x5fc7fa97
or eax, edx
mov edx, ecx
xor eax, 0x5fc7fb57
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x2c65d468
not ecx
and ecx, 0xd39a2b97
or eax, ecx
mov ecx, eax
xor eax, 0x430a0090
xor ecx, 0x28004460
and eax, 0x476f9098
and ecx, 0xb8906f67
or ecx, eax
mov eax, ecx
xor ecx, 0xb8906f67
xor eax, 0x47681098
mov edx, ecx
and edx, 0x2897e203
and eax, 0xd7681dfc
or eax, edx
xor eax, 0xd7681dfc
or eax, ecx
not eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc4]
cmp eax, 0x40
sete al
cmp ecx, 0x100
setne cl
xor cl, al
xor cl, 1
mov edx, ecx
xor cl, al
and dl, al
mov eax, 0x14760cf
or cl, dl
mov ecx, 0x7138c6c7
cmovne eax, ecx
cmovne eax, ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0x84]
add eax, 2
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [ebp + 0x24]
mov eax, dword [0x44e608]
lea ecx, [eax - 1]
setbe byte [esp + 0x8f]
imul ecx, eax
mov eax, ecx
and ecx, 0x4e8159a0
not eax
and eax, 0xb17ea65f
or ecx, eax
mov eax, ecx
xor ecx, 0x90420643
xor eax, 0x8151a0
and ecx, 0xde420e43
and eax, 0x21bdf1bc
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0x21bdf1bc
xor ecx, 0xde420e43
xor edx, 0xde420e42
and eax, 0xfffffffe
and edx, ecx
and ecx, 1
or ecx, eax
mov eax, edx
and edx, 0xb6e5aa7
not eax
mov esi, eax
and esi, 0xf491a558
or edx, esi
mov esi, ecx
and ecx, 0xb6e5aa7
not esi
or eax, esi
and esi, 0xf491a558
or ecx, esi
not eax
mov esi, 0x32591da9
xor ecx, edx
or eax, ecx
mov ecx, eax
and eax, 0xc2008480
not ecx
mov edx, ecx
or ecx, 0xd308f4c8
and edx, 0x11087048
or eax, edx
mov edx, eax
xor eax, 0x30071354
xor edx, 0x82008400
and eax, 0x700713d4
and edx, 0x8308e408
or edx, eax
mov eax, ecx
and ecx, 0x700713d4
not eax
and eax, 0xcf00823
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0xd308f4c8
not ecx
and ecx, 0x2cf70b37
or eax, ecx
mov eax, dword [0x44e60c]
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
xor ch, cl
mov ah, al
xor al, dl
mov cl, ch
and ah, dl
xor cl, 1
or al, ah
mov edx, eax
mov ah, al
and ch, al
not dl
and ah, cl
and dl, cl
xor cl, al
or cl, ah
or dl, ch
mov eax, ecx
xor al, dl
mov eax, 0xed6396b4
cmovne esi, eax
test cl, cl
mov eax, 0x32591da9
cmovne eax, esi
test dl, dl
cmove eax, esi
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], edx
lea edx, [esp + 0xe0]
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00415700
movsd xmm0, qword [esp + 0xe0]
lea eax, [ebp + 0x10]
mov dword [esp + 0x2c], 0
movsd qword [eax], xmm0
mov eax, 0xca25d357
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov ecx, dword [0x44e608]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edi, eax
not ecx
and edi, 0x64a9b42c
mov edx, ecx
and ecx, 0x9b564bd3
and edx, eax
or ecx, edi
mov esi, edx
and edx, 0x9b564bd3
not esi
or eax, esi
and esi, 0x64a9b42c
or edx, esi
not eax
xor edx, ecx
or eax, edx
mov edx, eax
mov ecx, eax
xor eax, 0xfffffffe
or edx, 0x20fdee55
not ecx
mov esi, edx
mov edi, ecx
and edx, 0xe0b2df9a
and ecx, 1
not esi
or edi, 0xdf0211aa
or eax, ecx
and esi, 0x1f000020
mov ecx, eax
and eax, 0xaa825abe
or esi, edx
mov edx, edi
and edi, 0xe0b2df9a
not ecx
not edx
and ecx, 0x557da541
and edx, 0x4d2045
or eax, ecx
or edx, edi
xor eax, 0xaa825abe
mov edi, 0x8af26a4d
xor edx, esi
mov esi, edx
and edx, 0xb0e1ccbe
not esi
and esi, 0x4f1e3341
or edx, esi
mov esi, 0xb8bbfd3
xor edx, 0x6fe3dd15
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
xor ecx, 0x9f39905b
and ecx, eax
not eax
and eax, 0x9f39905b
mov edx, eax
and edx, ecx
xor ecx, eax
mov eax, dword [0x44e60c]
or ecx, edx
mov edx, ecx
and ecx, 0x9f39905b
not edx
and edx, 0x60c66fa4
or ecx, edx
mov edx, ecx
and ecx, 0x8af8b1c3
not edx
and edx, 0x75074e3c
or ecx, edx
mov edx, ecx
xor ecx, 0x20044e14
xor edx, 0x80801c0
and ecx, 0xa2f4fe17
and edx, 0x5d0b01e8
or edx, ecx
mov ecx, edx
xor edx, 0x44080140
xor ecx, 0x8024d000
and edx, 0x66d82f57
and ecx, 0x9927d0a8
or ecx, edx
xor ecx, 0x9927d0a8
setne ch
sete dl
cmp eax, 9
setg dh
cmp eax, 0xa
mov cl, ch
mov ah, ch
setl al
and dh, dl
xor cl, al
or ah, al
and ch, al
not cl
mov bl, ah
or dh, ch
and cl, al
xor cl, 1
xor bl, cl
or cl, ah
mov ah, al
xor al, dl
and ah, dl
mov dl, dh
xor cl, 1
or al, ah
or cl, bl
mov ebx, dword [ebp + 0x18]
xor al, 1
and dl, al
xor al, dh
or al, dl
mov edx, eax
xor dl, 1
and al, dl
mov ah, dl
and ah, al
xor al, dl
or al, ah
xor al, cl
mov edx, eax
xor dl, 1
and dl, cl
mov ecx, edx
xor cl, al
test cl, 1
cmovne edi, esi
test al, 1
mov eax, edi
cmovne eax, esi
test dl, 1
cmove eax, edi
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
lea eax, [esp + 0x108]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [0x44e530]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
xor edx, 0x7a73e83
and edx, ecx
not ecx
and ecx, 0x7a73e83
mov eax, ecx
and eax, edx
xor edx, ecx
or edx, eax
mov eax, edx
and edx, 0xdad577f2
not eax
and eax, 0x252a880d
or edx, eax
mov eax, edx
xor edx, 0x853004
xor eax, 0xdd724971
and edx, 0xd1977054
mov ecx, eax
and eax, 0x90a64430
and ecx, 0x2e688fab
or ecx, edx
mov edx, ecx
mov edi, ecx
xor ecx, 0x2e688faa
xor edx, 0x2e688fab
xor edi, 0xbececb9b
and edi, edx
and edx, 1
mov ebx, edi
or ecx, edx
and ebx, eax
xor eax, edi
or eax, ebx
mov edi, eax
and eax, 0x8508f700
not edi
and edi, 0x7af708ff
or eax, edi
mov edi, eax
xor eax, 0x15aeb331
mov edx, eax
xor edi, 0xa004806
or eax, ecx
and edx, 0xe45f25d9
and edi, 0x1ba0da26
not eax
or edi, edx
mov edx, ecx
and ecx, 0xe45f25d9
not edx
and edx, 0x1ba0da26
or edx, ecx
mov ecx, dword [0x44e534]
xor edx, edi
mov edi, 0x85bd2c49
or eax, edx
cmp eax, 0xffffffff
sete dl
setne ah
sete byte [esp + 0xdc]
cmp ecx, 9
setg al
cmp ecx, 0xa
mov dh, dl
setl cl
setl byte [esp + 0xe0]
and dh, al
or al, dl
mov ch, cl
xor al, 1
and ch, ah
or ah, cl
xor ah, 1
or dh, ch
mov bl, ah
and bl, al
xor al, ah
mov ah, cl
xor cl, dl
and ah, dl
mov dl, dh
or al, bl
mov ebx, dword [ebp + 0x18]
or cl, ah
xor cl, 1
and dl, cl
xor cl, dh
or cl, dl
mov edx, ecx
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov edx, ecx
xor dl, 1
mov ah, dl
and ah, al
xor al, 1
and cl, al
or cl, ah
mov ah, al
xor al, dl
and ah, dl
or al, ah
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0xbfe7d427
cmovne edi, eax
test cl, 1
cmove edi, eax
test dl, 1
mov eax, 0x85bd2c49
cmove edi, eax
mov eax, 0xcb26014e
nop word cs:[eax + eax]
nop
cmp eax, 0xc4e86b68
jg 0x41a800
cmp eax, 0x85bd2c49
je 0x41a988
cmp eax, 0xbfe7d427
jne 0x41a7d0
mov eax, 0xc4e86b69
cmp eax, 0xc4e86b68
jle 0x41a7d7
nop word cs:[eax + eax]
nop
cmp eax, 0xc4e86b69
je 0x41a91b
cmp eax, 0xcb26014e
jne 0x41a7d0
mov dh, byte [esp + 0xdc]
movzx eax, byte [esp + 0xe0]
mov esi, dword [ebp + 0x18]
mov ch, dh
mov bh, al
mov byte [esp + 0x1a], al
xor ch, 1
xor bh, 1
mov cl, ch
mov dl, ch
mov ah, bh
xor ch, dh
mov bl, bh
and cl, dh
and ah, al
and ch, dh
xor dl, cl
xor cl, 1
xor ch, 1
and bl, ah
xor ah, bh
or cl, dh
or ah, bl
xor cl, 1
mov bl, ah
or cl, dl
xor bl, 1
mov edx, ecx
mov al, cl
xor dl, 1
or al, dl
mov byte [esp + 0x1b], dl
mov dl, ah
mov dh, al
or dl, bl
or dh, ch
xor ch, al
xor dh, 1
mov al, dh
and al, ch
xor ch, dh
mov dh, dl
or ch, al
mov al, byte [esp + 0x1a]
xor dh, 1
and dh, bh
and al, dl
or dl, bh
or dh, al
mov al, dl
xor dh, 1
xor al, dh
or dh, dl
xor dh, 1
or dh, al
xor dh, 1
mov al, dh
xor dh, ch
or al, ch
xor dh, 1
xor al, 1
and dh, ch
mov dl, al
and dl, dh
xor dh, al
mov al, ah
or ah, cl
and cl, bl
or dh, dl
mov dl, byte [esp + 0x1b]
xor ah, 1
xor bl, dl
and al, dl
or ah, bl
or cl, al
mov ebx, 0xc4e86b69
mov al, ah
xor al, cl
xor cl, 1
or cl, ah
xor al, 1
xor cl, 1
or cl, al
mov eax, ecx
xor al, dh
xor dh, 1
xor al, 1
or dh, cl
mov ecx, eax
xor cl, dh
test al, 1
mov eax, 0xbfe7d427
cmovne eax, ebx
test dh, 1
mov edx, 0xbfe7d427
cmovne eax, edx
test cl, 1
cmove eax, ebx
mov ebx, esi
cmp eax, 0xc4e86b68
jle 0x41a7d7
jmp 0x41a800
mov eax, edi
cmp eax, 0xc4e86b68
jle 0x41a7d7
jmp 0x41a800
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, 0xfd0e2517
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, 0xb8bbfd3
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [ebp + 0x24]
lea edi, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x11c], 0xf
mov dword [esp + 0x118], 0
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp], eax
call fcn.00415ed0
sub esp, 8
mov dword [esp + 0xdc], edi
mov ecx, 0x7da6ac33
mov edx, 0x130f9650
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], eax
mov eax, 0x27495808
cmova eax, ecx
nop word [eax + eax]
cmp edx, 0x7da6ac33
je 0x41aa29
cmp edx, 0x27495808
je 0x41aa41
cmp edx, 0x130f9650
jne 0x41aa00
mov ecx, dword [esp + 0xe0]
mov edx, eax
cmp edx, 0x7da6ac33
jne 0x41aa08
mov ecx, dword [esp + 0xdc]
mov edx, 0x27495808
mov ecx, dword [ecx]
cmp edx, 0x7da6ac33
jne 0x41aa08
jmp 0x41aa29
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x40]
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 [ebx + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0xe4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0xe0]
mov dword [esp], eax
call fcn.00414ec0
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xd8], eax
mov eax, 0xafd67d28
nop dword [eax]
cmp eax, 0xb9fa313
jg 0x41ab00
cmp eax, 0xae1892eb
je 0x41aac4
cmp eax, 0xafd67d28
jne 0x41aaa0
cmp dword [esp + 0xd8], 0
mov eax, 0xae1892eb
jmp 0x41aae4
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0xdc], eax
mov eax, 0x2d1498fe
cmp dword [esp + 0xdc], 0
mov ecx, 0xb9fa314
cmove eax, ecx
cmp eax, 0xb9fa313
jle 0x41aaa7
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xb9fa314
je 0x41ab3e
cmp eax, 0x2d1498fe
jne 0x41aaa0
mov eax, dword [esp + 0xdc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0xdc]
mov dword [esp], 1
call eax
sub esp, 4
mov eax, 0xb9fa314
cmp eax, 0xb9fa313
jle 0x41aaa7
jmp 0x41ab00
lea eax, [esp + 0xf0]
mov dword [esp + 0xac], eax
mov edx, eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 0x14]
sub esp, 4
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esp + 0xb3], al
mov ecx, 0x226dd374
mov eax, dword [esp + 0xa0]
cmp eax, dword [ebp + 0x24]
mov eax, 0x6f44f5c1
cmove eax, ecx
cmp eax, 0x15d0a064
jg 0x41945b
jmp 0x419b60
mov eax, dword [ebp + 0x20]
mov ecx, 0x7e4b0e3f
movsx eax, byte [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
cmp eax, 0x2b
mov eax, 0x296b925f
cmove eax, ecx
mov cl, 1
jmp 0x419445
lea esi, [esp + 0x108]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
mov edi, 0x27495808
mov ebx, 0x130f9650
mov dword [esp + 0xdc], esi
mov esi, dword [esp + 0xdc]
cmp dword [esp + 0x11c], 0xf
mov dword [esp + 0xe0], esi
mov esi, 0x7da6ac33
cmova edi, esi
nop word cs:[eax + eax]
cmp ebx, 0x7da6ac33
je 0x41ac59
cmp ebx, 0x27495808
je 0x41ac71
cmp ebx, 0x130f9650
jne 0x41ac30
mov esi, dword [esp + 0xe0]
mov ebx, edi
cmp ebx, 0x7da6ac33
jne 0x41ac38
mov esi, dword [esp + 0xdc]
mov ebx, 0x27495808
mov esi, dword [esi]
cmp ebx, 0x7da6ac33
jne 0x41ac38
jmp 0x41ac59
add esi, ecx
lea ecx, [ebp + 0x10]
sub eax, edx
lea edx, [esp + 0xe0]
movsd xmm0, qword [ecx]
mov edi, ecx
mov ecx, dword [ebp + 8]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x50]
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 + 0xe0]
mov ecx, dword [esp + 0xe4]
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 + 0x4c], ecx
mov dword [esp + 0x48], eax
movsx edx, byte [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
call fcn.00415570
lea eax, [esp + 0xf0]
mov esi, 0xdd0d2688
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov eax, 0x59b2124d
nop word cs:[eax + eax]
cmp eax, 0xa1c48b1e
je 0x41ad8d
cmp eax, 0xdd0d2688
je 0x41ad61
cmp eax, 0x59b2124d
jne 0x41ad30
mov eax, dword [esp + 0xe0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xa1c48b1e
cmova eax, esi
cmp eax, 0xa1c48b1e
jne 0x41ad37
jmp 0x41ad8d
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xe0]
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 0x41ad37
mov eax, dword [esp + 0xe0]
mov esi, 0xdd0d2688
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0xe0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0xe0]
mov byte [eax], 0
mov eax, dword [esp + 0xac]
lea eax, [esp + 0x108]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov eax, 0x59b2124d
nop dword [eax]
cmp eax, 0xa1c48b1e
je 0x41ae3d
cmp eax, 0xdd0d2688
je 0x41ae11
cmp eax, 0x59b2124d
jne 0x41ade0
mov eax, dword [esp + 0xe0]
cmp dword [eax + 0x14], 0xf
mov eax, 0xa1c48b1e
cmova eax, esi
cmp eax, 0xa1c48b1e
jne 0x41ade7
jmp 0x41ae3d
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xe0]
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 0x41ade7
mov eax, dword [esp + 0xe0]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0xe0]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0xe0]
mov byte [eax], 0
mov eax, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x120]
xor ecx, ebp
call fcn.0041d6b9
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret