Function at 0x414790
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 [0x447834]
mov ecx, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x20]
mov edx, 0x4941667a
xor eax, ebp
test ecx, ecx
mov dword [esp + 0xc8], eax
mov eax, 0x29d6420b
cmove edx, eax
lea eax, [ebx + ecx]
mov dword [esp + 0x24], eax
mov eax, 0xb11956a9
mov dword [esp + 0x28], edx
mov dword [esp + 0xc], ecx
nop word cs:[eax + eax]
cmp eax, 0x825958e
jg 0x415290
cmp eax, 0xbc1c3e4c
jg 0x414940
cmp eax, 0x9f8c2758
jg 0x41497a
cmp eax, 0x99245fa3
jg 0x414a4b
cmp eax, 0x88190617
je 0x414c2b
cmp eax, 0x892c0b7b
jne 0x4147e0
lea eax, [esp + 0xb0]
mov ecx, 0x78124d09
mov edx, 0x3fe64919
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], eax
mov eax, 0x52b8a09c
cmova ecx, eax
nop word cs:[eax + eax]
nop
cmp edx, 0x78124d09
je 0x4148a1
cmp edx, 0x52b8a09c
je 0x41488b
cmp edx, 0x3fe64919
jne 0x414860
mov eax, dword [esp + 0x90]
mov edx, ecx
cmp edx, 0x78124d09
jne 0x414868
jmp 0x4148a1
mov eax, dword [esp + 0x88]
mov edx, 0x78124d09
mov eax, dword [eax]
cmp edx, 0x78124d09
jne 0x414868
lea ecx, [ebp + 0x10]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], edx
mov edx, 0xea832e97
cmp edx, 0xa63e0e16
je 0x414910
cmp edx, 0x65144aef
je 0x414c4d
cmp edx, 0xea832e97
jne 0x4148c0
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov edx, 0xa63e0e16
mov esi, 0x65144aef
cmp dword [esp + 0x84], 0
cmove edx, esi
cmp edx, 0xa63e0e16
jne 0x4148c8
nop word [eax + eax]
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x90]
movsx eax, byte [eax]
push eax
call fcn.00413c60
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
dec ecx
inc eax
jmp 0x4148bb
cmp eax, 0xd617d6f3
jg 0x4149b0
cmp eax, 0xc45aaa18
jg 0x414b79
cmp eax, 0xbc1c3e4d
je 0x414cdb
cmp eax, 0xbca2359e
jne 0x4147e0
mov eax, dword [esp + 0x30]
mov ecx, 0xd56992b6
cmp byte [ebx + eax], 0x30
jmp 0x414f45
cmp eax, 0xb059c220
jg 0x414bb2
cmp eax, 0x9f8c2759
je 0x414ced
cmp eax, 0xada828eb
jne 0x4147e0
mov eax, 0x20bcd7ff
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0xead74f08
jg 0x414be4
cmp eax, 0xd617d6f4
je 0x414d89
cmp eax, 0xe7e66c0b
jne 0x4147e0
lea eax, [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
mov ecx, 0x26e9a87e
cmp ecx, 0xaa7fc3aa
je 0x414a30
cmp ecx, 0x1643a3a6
je 0x414de4
cmp ecx, 0x26e9a87e
jne 0x4149f0
mov dword [esp + 0x88], eax
mov ecx, 0xaa7fc3aa
mov edx, 0x1643a3a6
cmp dword [esp + 0x88], 0
cmove ecx, edx
cmp ecx, 0xaa7fc3aa
jne 0x4149f8
movsx eax, byte [ebp + 0x1c]
lea ecx, [esp + 0x90]
push eax
call fcn.00413c60
mov eax, dword [esp + 0x88]
dec eax
jmp 0x4149eb
cmp eax, 0x99245fa4
je 0x414f39
cmp eax, 0x9f22b4ba
jne 0x4147e0
lea eax, [esp + 0xb0]
mov ecx, 0x78124d09
mov edx, 0x3fe64919
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], eax
mov eax, 0x52b8a09c
cmova ecx, eax
nop word [eax + eax]
cmp edx, 0x78124d09
je 0x414ae1
cmp edx, 0x52b8a09c
je 0x414acb
cmp edx, 0x3fe64919
jne 0x414aa0
mov eax, dword [esp + 0x90]
mov edx, ecx
cmp edx, 0x78124d09
jne 0x414aa8
jmp 0x414ae1
mov eax, dword [esp + 0x88]
mov edx, 0x78124d09
mov eax, dword [eax]
cmp edx, 0x78124d09
jne 0x414aa8
lea ecx, [ebp + 0x10]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], edx
mov edx, 0xea832e97
cmp edx, 0xa63e0e16
je 0x414b50
cmp edx, 0x65144aef
je 0x414f52
cmp edx, 0xea832e97
jne 0x414b00
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov edx, 0xa63e0e16
mov esi, 0x65144aef
cmp dword [esp + 0x84], 0
cmove edx, esi
cmp edx, 0xa63e0e16
jne 0x414b08
nop word [eax + eax]
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x90]
movsx eax, byte [eax]
push eax
call fcn.00413c60
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
dec ecx
inc eax
jmp 0x414afb
cmp eax, 0xc45aaa19
je 0x414f7f
cmp eax, 0xd56992b6
jne 0x4147e0
mov eax, dword [esp + 0x30]
mov ecx, 0x2d303856
movsx eax, byte [eax + ebx + 1]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
cmp eax, 0x78
mov eax, 0x99245fa4
jmp 0x415c5b
cmp eax, 0xb059c221
je 0x4150d3
cmp eax, 0xb11956a9
jne 0x4147e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], 0
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0xead74f09
je 0x4150f6
cmp eax, 0x5207c00
jne 0x4147e0
mov eax, dword [esp + 0x14]
mov ecx, 0x3a2d83bf
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
movsx eax, byte [eax]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
cmp eax, 0x7f
mov eax, 0x88190617
jmp 0x415c5b
cmp dword [esp + 0x58], 0
mov eax, 0x3a2d83bf
mov ecx, 0x129820f2
cmovg eax, ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
lea eax, [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
mov ecx, 0x26e9a87e
nop word [eax + eax]
cmp ecx, 0xaa7fc3aa
je 0x414cc0
cmp ecx, 0x1643a3a6
je 0x414f0c
cmp ecx, 0x26e9a87e
jne 0x414c80
mov dword [esp + 0x88], eax
mov ecx, 0xaa7fc3aa
mov edx, 0x1643a3a6
cmp dword [esp + 0x88], 0
cmove ecx, edx
cmp ecx, 0xaa7fc3aa
jne 0x414c88
movsx eax, byte [ebp + 0x1c]
lea ecx, [esp + 0x90]
push eax
call fcn.00413c60
mov eax, dword [esp + 0x88]
dec eax
jmp 0x414c75
mov eax, 0x279b2b58
mov dword [esp + 4], 0x441b65
jmp 0x415596
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0x44]
mov esi, 0x52b8a09c
mov edi, 0x3fe64919
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], edx
mov edx, 0x78124d09
cmova edx, esi
cmp edi, 0x78124d09
je 0x414d71
cmp edi, 0x52b8a09c
je 0x414d5b
cmp edi, 0x3fe64919
jne 0x414d30
mov esi, dword [esp + 0x90]
mov edi, edx
cmp edi, 0x78124d09
jne 0x414d38
jmp 0x414d71
mov esi, dword [esp + 0x88]
mov edi, 0x78124d09
mov esi, dword [esi]
cmp edi, 0x78124d09
jne 0x414d38
mov byte [esi + ecx], al
mov eax, 0x610d7dad
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x74]
sub ecx, eax
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0xb0]
movsx eax, byte [esp + 0x57]
push eax
push 1
push dword [esp + 0x64]
call fcn.00411a80
mov eax, dword [esp + 0x70]
mov ecx, 0x1fc28fc5
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
cmp byte [eax], 0
mov edx, dword [esp + 0x70]
mov eax, 0x6030348e
cmovg eax, ecx
mov dword [esp + 0x18], edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
lea eax, [ebp + 0x10]
mov esi, 0x78124d09
mov edi, 0x3fe64919
mov dword [eax + 4], edx
mov dword [eax], ecx
lea eax, [esp + 0xb0]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], eax
mov eax, 0x52b8a09c
cmova esi, eax
cmp edi, 0x78124d09
je 0x414e71
cmp edi, 0x52b8a09c
je 0x414e5b
cmp edi, 0x3fe64919
jne 0x414e30
mov eax, dword [esp + 0x90]
mov edi, esi
cmp edi, 0x78124d09
jne 0x414e38
jmp 0x414e71
mov eax, dword [esp + 0x88]
mov edi, 0x78124d09
mov eax, dword [eax]
cmp edi, 0x78124d09
jne 0x414e38
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
mov ecx, 0xea832e97
nop dword [eax + eax]
cmp ecx, 0xa63e0e16
je 0x414ee0
cmp ecx, 0x65144aef
je 0x414f0c
cmp ecx, 0xea832e97
jne 0x414e90
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], eax
mov ecx, 0xa63e0e16
mov edx, 0x65144aef
cmp dword [esp + 0x84], 0
cmove ecx, edx
cmp ecx, 0xa63e0e16
jne 0x414e98
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x90]
movsx eax, byte [eax]
push eax
call fcn.00413c60
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
dec esi
inc eax
jmp 0x414e83
movsd xmm0, qword [esp + 0x90]
lea eax, [ebp + 0x10]
mov dword [esp + 8], 0
movsd qword [eax], xmm0
mov eax, 0x2bca2e69
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [esp + 0x38]
mov ecx, 0x2d303856
cmp eax, 0x58
mov eax, 0x279b2b58
cmove eax, ecx
jmp 0x41558e
movsd xmm0, qword [esp + 0x90]
lea eax, [ebp + 0x10]
movsd qword [eax], xmm0
mov eax, 0x2bca2e69
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xa6218ce4
mov edx, ecx
and ecx, 0x59de731b
and edx, eax
or ecx, esi
mov esi, edx
and edx, 0x59de731b
not esi
or eax, esi
and esi, 0xa6218ce4
or edx, esi
not eax
xor edx, ecx
or eax, edx
mov edx, eax
and eax, 0x37551eef
not edx
mov ecx, edx
or edx, 0xde2dc956
and ecx, 0xc8aae110
or eax, ecx
mov ecx, eax
xor ecx, 0xc828c110
or ecx, 0x21d236a9
mov esi, ecx
and ecx, 0x2e7e67fc
not esi
and esi, 0xd0018802
or esi, ecx
mov ecx, edx
and edx, 0x2e7e67fc
not ecx
and ecx, 0x1801001
or ecx, edx
xor ecx, esi
mov esi, 0xe7e66c0b
mov edx, ecx
and ecx, 0x9078540
not edx
and edx, 0xf6f87abf
or ecx, edx
mov edx, eax
xor eax, 0x37551f2f
xor edx, 0xc0
xor ecx, 0xd72a4dd6
and edx, 0x1c0
or eax, edx
mov edx, eax
and eax, 0xf54eaa20
not edx
and edx, 0xab155df
or eax, edx
mov edx, ecx
xor eax, 0xf54eaa20
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x4d35e4b4
not ecx
and ecx, 0xb2ca1b4b
or eax, ecx
xor eax, 0x4d35e4b4
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
cmp eax, 0x40
setne al
sete cl
cmp edx, 0x100
sete dl
setne ah
and dl, al
mov al, cl
xor al, ah
and al, cl
and cl, ah
or cl, dl
xor al, 1
xor cl, 1
mov edx, eax
xor dl, cl
or cl, al
mov eax, 0x7d49e48c
not cl
or cl, dl
mov edx, 0x7d49e48c
not cl
test cl, 1
cmovne eax, esi
cmove eax, edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [esp + 0x2c]
cmp eax, 0x2d
sete al
mov dword [esp + 0xc], eax
mov eax, 0x29d6420b
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov ecx, dword [0x4485a0]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
not ecx
and eax, ecx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov edx, eax
mov ecx, eax
and eax, 0x7fde9efd
not edx
and ecx, 0xfeebaace
and edx, 0x1145531
or ecx, edx
mov edx, ecx
mov esi, ecx
xor ecx, 0xfeebaacf
xor edx, 0xfeebaace
xor esi, 0x81353433
and esi, edx
and edx, 1
mov edi, esi
or ecx, edx
and edi, eax
xor eax, esi
or eax, edi
mov esi, eax
and eax, 0x9d2b2a79
not esi
and esi, 0x62d4d586
or eax, esi
mov esi, eax
xor eax, 0xe2f5b485
mov edx, eax
xor esi, 0x50a4018
or eax, ecx
and edx, 0x38d09f66
and esi, 0xc72f6099
not eax
or esi, edx
mov edx, ecx
and ecx, 0x38d09f66
not edx
and edx, 0xc72f6099
or edx, ecx
xor edx, esi
mov esi, 0xada828eb
or eax, edx
mov ecx, eax
and eax, 0xd74a655e
not ecx
mov edx, ecx
or ecx, 0xf1e3a54b
and edx, 0x28b59aa1
or eax, edx
mov edx, eax
xor eax, 0x10001
xor edx, 0x5000004a
or eax, 0x4185014
and eax, 0x855b7515
and edx, 0x70a0804a
or edx, eax
mov eax, ecx
and ecx, 0x855b7515
not eax
and eax, 0xa040aa0
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0xf1e3a54b
not ecx
and ecx, 0xe1c5ab4
or eax, ecx
mov ecx, eax
and eax, 0xe09dc227
not ecx
and ecx, 0x1f623dd8
or eax, ecx
mov ecx, eax
xor eax, 0x1b221458
xor ecx, 0xc09cc006
and eax, 0x3b231679
and ecx, 0xc4dce986
or ecx, eax
mov eax, dword [0x4485a4]
xor ecx, 0xc4dce986
setne cl
cmp eax, 0xa
setl dl
cmp eax, 9
setg al
mov ah, al
xor al, cl
and ah, cl
or al, ah
mov ah, cl
xor cl, dl
or ah, dl
not cl
xor ah, 1
and cl, dl
mov dl, ah
and dl, cl
xor cl, ah
or cl, dl
mov edx, ecx
and cl, al
xor al, 1
xor dl, 1
mov ch, al
xor ch, dl
and dl, al
and ch, al
or dl, cl
mov eax, 0xada828eb
mov cl, ch
xor cl, dl
test dl, dl
mov edx, 0x20bcd7ff
cmovne eax, edx
test ch, ch
cmove eax, esi
jmp 0x41571d
cmp eax, 0x2d303855
jg 0x4152f0
cmp eax, 0x20bcd7fe
jg 0x415353
cmp eax, 0x15e8256d
jg 0x4154d8
cmp eax, 0x825958f
je 0x41556f
cmp eax, 0x129820f2
jne 0x4147e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
mov edx, 0xd617d6f4
sub ecx, eax
mov eax, dword [esp + 0x58]
cmp eax, ecx
mov eax, 0x3a2d83bf
cmovb eax, edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0x4a30b882
jg 0x415492
cmp eax, 0x3e5b28f0
jg 0x41550b
cmp eax, 0x2d303856
je 0x41559c
cmp eax, 0x3a2d83bf
jne 0x4147e0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
mov eax, dword [eax + 0x24]
cmp dword [ecx + 0x20], 1
mov ecx, 0xead74f09
sbb eax, 0
mov eax, 0x3e5b28f1
cmovl eax, ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0x29d6420a
jg 0x415526
cmp eax, 0x20bcd7ff
je 0x4155c0
cmp eax, 0x279b2b58
jne 0x4147e0
mov eax, dword [esp]
mov dword [esp + 0x6c], eax
push dword [esp + 4]
push ebx
call fcn.00425970
add esp, 8
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x8e]
mov dword [esp + 0x40], eax
mov esi, eax
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov word [eax], 0x2e
call fcn.00425414
mov eax, dword [eax]
mov al, byte [eax]
mov byte [esp + 0x8e], al
push esi
push ebx
call fcn.00425970
add esp, 8
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x94], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x90]
push eax
call fcn.00411590
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x84], eax
mov eax, 0x28128096
cmp eax, 0x1abd29a8
jg 0x415440
cmp eax, 0x870319bf
je 0x415733
cmp eax, 0xfdba0446
jne 0x415400
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x88]
push 1
call eax
mov eax, 0x870319bf
cmp eax, 0x1abd29a8
jle 0x415407
nop dword [eax + eax]
cmp eax, 0x1abd29a9
je 0x41545d
cmp eax, 0x28128096
jne 0x415400
cmp dword [esp + 0x84], 0
mov eax, 0x1abd29a9
jmp 0x41547d
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, 0xfdba0446
cmp dword [esp + 0x88], 0
mov ecx, 0x870319bf
cmove eax, ecx
cmp eax, 0x1abd29a8
jle 0x415407
jmp 0x415440
cmp eax, 0x610d7dac
jg 0x415541
cmp eax, 0x4a30b883
je 0x4158d1
cmp eax, 0x6030348e
jne 0x4147e0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x18]
mov eax, 0x5207c00
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0x15e8256e
je 0x4158ee
cmp eax, 0x1fc28fc5
jne 0x4147e0
mov ecx, dword [esp + 0x60]
mov eax, 0x6030348e
mov dword [esp + 0x18], ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
cmp eax, 0x3e5b28f1
je 0x415911
cmp eax, 0x4941667a
jne 0x4147e0
jmp 0x415c70
cmp eax, 0x29d6420b
je 0x415938
cmp eax, 0x2bca2e69
jne 0x4147e0
jmp 0x415c92
cmp eax, 0x610d7dad
je 0x415a00
cmp eax, 0x7d49e48c
jne 0x4147e0
mov eax, dword [esp + 0x68]
mov ecx, 0x892c0b7b
cmp eax, 0x100
mov eax, 0x9f22b4ba
jmp 0x415c5b
mov eax, dword [esp + 0x30]
mov ecx, 0x279b2b58
add eax, 2
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0x24]
mov eax, 0xbca2359e
cmova eax, ecx
mov dword [esp + 4], 0x441b5a
mov ecx, dword [esp + 0x30]
jmp 0x4155ad
mov dword [esp + 4], 0x441b5a
mov eax, 0x279b2b58
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [0x4485a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0x1c12b9ec
and eax, 0x41218e0
and edx, ecx
not ecx
and ecx, 0x1800a10c
or eax, ecx
xor eax, 0x41218e0
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov eax, edx
and edx, 0x3a51c8c4
not eax
and eax, 0xc5ae373b
or edx, eax
mov esi, edx
mov eax, edx
xor edx, 0x713264af
xor esi, 0x26437128
xor eax, 0xd9bc8ed7
mov ecx, esi
and edx, eax
and esi, 0xae94184c
and ecx, 0xa88eea78
mov edi, edx
and edi, ecx
xor ecx, edx
or ecx, edi
mov edx, ecx
and ecx, 0x57711586
not edx
and edx, 0xa88eea79
or ecx, edx
mov edx, eax
and eax, 1
and edx, 0x516be7b3
or edx, esi
mov esi, 0xada828eb
xor edx, 0xae94184d
or eax, edx
mov edx, eax
and eax, 0x4e5a5907
not edx
and edx, 0xb1a5a6f8
or eax, edx
mov edx, ecx
xor eax, 0x4e5a5907
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
or eax, 0x477392fa
mov edx, eax
not ecx
and eax, 0x8f564369
not edx
or ecx, 0xb88c6d05
and edx, 0x30882c04
or edx, eax
mov eax, ecx
and ecx, 0x8f564369
not eax
and eax, 0x40219092
or eax, ecx
xor eax, edx
mov ecx, eax
and eax, 0x28b12828
not ecx
and ecx, 0xd74ed7d7
or eax, ecx
xor eax, 0x903d452d
setne al
sete dl
cmp dword [0x4485a4], 0xa
setl ah
mov cl, ah
or al, ah
or cl, dl
xor dl, ah
xor cl, 1
or cl, dl
and dl, ah
mov ah, al
xor dl, 1
mov ch, cl
xor ah, dl
or dl, al
xor ch, 1
xor dl, 1
or dl, ah
mov eax, edx
and dl, cl
xor al, 1
or cl, al
and al, ch
or al, dl
mov edx, ecx
xor dl, al
test dl, 1
mov edx, 0x4a30b883
cmovne edx, esi
test al, 1
mov esi, 0x4a30b883
mov eax, edx
cmovne eax, esi
test cl, 1
cmovne eax, edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
lea eax, [esp + 0xb0]
mov ecx, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xc0], 0
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x84], eax
mov eax, 0xbfa79347
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x28438e4f
jg 0x4157d0
cmp eax, 0xbfa79347
je 0x4157aa
cmp eax, 0xc9897acd
jne 0x415790
jmp 0x415abc
mov eax, dword [esp + 0x84]
mov ecx, 0x28438e50
cmp eax, dword [ebp + 0x24]
mov eax, 0x32430c49
cmovb eax, ecx
cmp eax, 0x28438e4f
jle 0x415797
nop dword [eax + eax]
cmp eax, 0x28438e50
je 0x415894
cmp eax, 0x32430c49
jne 0x415790
mov eax, dword [esp + 0x80]
mov esi, ebx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x90], ecx
mov ecx, 0x3fe64919
nop word cs:[eax + eax]
nop
cmp ecx, 0x78124d09
je 0x415860
cmp ecx, 0x52b8a09c
je 0x41584a
cmp ecx, 0x3fe64919
jne 0x415810
cmp dword [eax + 0x14], 0xf
mov edi, dword [esp + 0x90]
mov ecx, 0x78124d09
mov edx, 0x52b8a09c
cmova ecx, edx
cmp ecx, 0x78124d09
jne 0x415818
jmp 0x415860
mov ecx, dword [esp + 0x88]
mov edi, dword [ecx]
mov ecx, 0x78124d09
cmp ecx, 0x78124d09
jne 0x415818
mov eax, dword [esp + 0x80]
mov ebx, dword [ebp + 0x24]
mov dword [eax + 0x10], ebx
push ebx
push 0
push edi
call fcn.0041d450
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, 0xc9897acd
mov ebx, esi
cmp eax, 0x28438e4f
jle 0x415797
jmp 0x4157d0
sub esp, 0xc
mov al, byte [esp + 0x88]
lea ecx, [esp + 0xbc]
mov byte [esp + 4], al
mov eax, dword [ebp + 0x24]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.004122e0
mov eax, 0xc9897acd
cmp eax, 0x28438e4f
jle 0x415797
jmp 0x4157d0
mov eax, 0xc45aaa19
mov dword [esp + 0x1c], 0
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
sub eax, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
mov eax, 0xc45aaa19
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x20]
mov eax, 0xead74f09
mov ecx, 0x15e8256e
cmovb eax, ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
movzx eax, byte [esp + 0xc]
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x14]
mov edx, ecx
mov esi, ecx
not edx
and esi, 0xada88287
mov eax, edx
and edx, 0xf0343524
and eax, 0x52574d78
or esi, eax
mov eax, ecx
xor eax, 0xffffcfff
xor esi, 0xada88287
and eax, ecx
mov edi, esi
and ecx, 0xfcbcadb
and edi, eax
xor eax, esi
or ecx, edx
or eax, edi
mov edi, ecx
xor ecx, 0xf0343524
mov esi, eax
and eax, 0xfd6e99ae
xor edi, 0x1c94a92
not esi
and edi, 0x71c94e92
and esi, 0x2916651
or eax, esi
mov esi, eax
xor eax, 0x2916651
mov edx, eax
xor esi, 0x71480882
or eax, ecx
and ecx, 0x8e36b16d
and edx, 0x8e36b16d
and esi, 0x71c94e92
or edi, ecx
not eax
or esi, edx
xor edi, esi
or eax, edi
mov ecx, eax
and eax, 0x2fd14041
not ecx
and ecx, 0xd02ebfbe
or eax, ecx
mov ecx, 0x825958f
xor eax, 0x2fd14041
cmp eax, 0x3000
mov eax, 0xbc1c3e4d
jmp 0x415c5b
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov esi, 0x86428386
mov dword [esp + 0x10], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x88]
cmp dword [esp + 0xac], 0xf
mov dword [esp + 0x90], edx
mov edx, 0x598afd8e
cmova edx, esi
mov esi, 0x82904b7a
nop word cs:[eax + eax]
cmp esi, 0x598afd8e
je 0x415a99
cmp esi, 0x86428386
je 0x415a7f
cmp esi, 0x82904b7a
jne 0x415a50
mov esi, dword [esp + 0x90]
mov dword [esp + 0x14], esi
mov esi, edx
cmp esi, 0x598afd8e
jne 0x415a58
jmp 0x415a99
mov esi, dword [esp + 0x88]
mov esi, dword [esi]
mov dword [esp + 0x14], esi
mov esi, 0x598afd8e
cmp esi, 0x598afd8e
jne 0x415a58
cmp ecx, dword [ebp + 0x24]
mov edx, dword [esp + 0x10]
cmove edx, eax
mov eax, 0x5207c00
mov dword [esp + 0x10], edx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
lea eax, [esp + 0xb0]
mov ecx, 0x52b8a09c
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], eax
mov eax, 0x78124d09
cmova eax, ecx
mov ecx, 0x3fe64919
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0x78124d09
je 0x415b41
cmp ecx, 0x52b8a09c
je 0x415b2b
cmp ecx, 0x3fe64919
jne 0x415b00
mov edx, dword [esp + 0x90]
mov ecx, eax
cmp ecx, 0x78124d09
jne 0x415b08
jmp 0x415b41
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx]
mov ecx, 0x78124d09
cmp ecx, 0x78124d09
jne 0x415b08
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
push edx
push dword [esp + 0x28]
push ebx
call dword [eax + 0x1c]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x94], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x90]
push eax
call fcn.00411800
add esp, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x84], eax
mov eax, 0x28128096
nop dword [eax]
cmp eax, 0x1abd29a8
jg 0x415bd0
cmp eax, 0x870319bf
je 0x415c22
cmp eax, 0xfdba0446
jne 0x415b90
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x88]
push 1
call eax
mov eax, 0x870319bf
cmp eax, 0x1abd29a8
jle 0x415b97
nop dword [eax + eax]
cmp eax, 0x1abd29a9
je 0x415bed
cmp eax, 0x28128096
jne 0x415b90
cmp dword [esp + 0x84], 0
mov eax, 0x1abd29a9
jmp 0x415c0d
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, 0xfdba0446
cmp dword [esp + 0x88], 0
mov ecx, 0x870319bf
cmove eax, ecx
cmp eax, 0x1abd29a8
jle 0x415b97
jmp 0x415bd0
lea eax, [esp + 0x98]
mov dword [esp + 0x50], eax
mov edx, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esp + 0x57], al
mov ecx, 0x610d7dad
mov eax, dword [esp + 0x44]
cmp eax, dword [ebp + 0x24]
mov eax, 0x9f8c2759
cmove eax, ecx
cmp eax, 0x825958e
jg 0x415290
jmp 0x4147eb
movsx eax, byte [ebx]
mov ecx, 0x29d6420b
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x2b
mov eax, 0xb059c221
cmove eax, ecx
mov cl, 1
jmp 0x4147d2
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov ebx, 0x78124d09
mov edi, 0x3fe64919
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0xf
mov dword [esp + 0x90], ecx
mov ecx, 0x52b8a09c
cmova ebx, ecx
nop word cs:[eax + eax]
nop
cmp edi, 0x78124d09
je 0x415d21
cmp edi, 0x52b8a09c
je 0x415d0b
cmp edi, 0x3fe64919
jne 0x415ce0
mov ecx, dword [esp + 0x90]
mov edi, ebx
cmp edi, 0x78124d09
jne 0x415ce8
jmp 0x415d21
mov ecx, dword [esp + 0x88]
mov edi, 0x78124d09
mov ecx, dword [ecx]
cmp edi, 0x78124d09
jne 0x415ce8
add ecx, edx
lea edx, [ebp + 0x10]
sub eax, esi
mov bl, byte [ebp + 0x1c]
mov edi, 0x65144aef
mov esi, edx
mov edx, dword [edx]
mov esi, dword [esi + 4]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
lea esi, [esp + 0x90]
mov edx, 0xea832e97
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xa63e0e16
je 0x415da0
cmp edx, 0x65144aef
je 0x415dc4
cmp edx, 0xea832e97
jne 0x415d60
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov edx, 0xa63e0e16
cmp dword [esp + 0x84], 0
cmove edx, edi
cmp edx, 0xa63e0e16
jne 0x415d68
nop
mov eax, dword [esp + 0x88]
mov ecx, esi
movsx eax, byte [eax]
push eax
call fcn.00413c60
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
dec eax
inc ecx
jmp 0x415d4c
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov esi, dword [ebp + 0x18]
lea edx, [ebp + 0x10]
movsx edi, bl
mov ebx, 0x1643a3a6
mov dword [edx + 4], ecx
mov dword [edx], eax
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
lea esi, [esp + 0x90]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov eax, 0x26e9a87e
nop dword [eax]
cmp eax, 0xaa7fc3aa
je 0x415e50
cmp eax, 0x1643a3a6
je 0x415e66
cmp eax, 0x26e9a87e
jne 0x415e10
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov eax, 0xaa7fc3aa
cmp dword [esp + 0x88], 0
cmove eax, ebx
cmp eax, 0xaa7fc3aa
jne 0x415e17
nop word [eax + eax]
mov ecx, esi
push edi
call fcn.00413c60
mov eax, dword [esp + 0x88]
dec eax
mov dword [esp + 8], eax
jmp 0x415e08
movsd xmm0, qword [esp + 0x90]
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x98]
movsd qword [esi], xmm0
call fcn.00407ab0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xb0]
call fcn.00407ab0
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc8]
xor ecx, ebp
call fcn.004178c4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret