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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45fe55f5
mov eax, dword fs:[0]
push eax
sub esp, 0x6d0
mov eax, dword [0x46039020]
xor eax, esp
mov dword [esp + 0x6c8], eax
push ebx
push esi
push edi
mov eax, dword [0x46039020]
xor eax, esp
push eax
lea eax, [esp + 0x6e0]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0x50], ebx
mov ebx, dword [ebp + 0x2c]
mov dword [esp + 0x40], ebx
mov ebx, dword [ebp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x58], ebx
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x90], ebx
xor ebx, ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], esi
mov dword [esp + 0x3c], ebx
cmp eax, ebx
jne 0x45e415d3
push 0x1a95
push 0x45dc1bbc
push 0x80004003
call fcn.45f85378
cmp ecx, ebx
jne 0x45e415de
push 0x1a96
jmp 0x45e415c4
cmp edx, ebx
jne 0x45e415e9
push 0x1a97
jmp 0x45e415c4
cmp esi, ebx
jne 0x45e415f4
push 0x1a98
jmp 0x45e415c4
cmp edi, ebx
jne 0x45e415ff
push 0x1a99
jmp 0x45e415c4
call fcn.45f488fe
test al, al
je 0x45e416a1
mov al, byte [0x4603ba3f]
test al, al
jne 0x45e415ff
mov esi, dword [ebp + 0xc]
push 4
pop ecx
mov edi, 0x45db1998
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x45e416fe
mov al, byte [0x4603ba3f]
test al, al
jne 0x45e41615
lea eax, [esp + 0x28]
push eax
call fcn.45e66a82
mov dword [esp + 0x6e8], ebx
mov edi, dword [esp + 0x28]
cmp edi, ebx
je 0x45e4175a
push 0x45dc537c
push edi
lea esi, [esp + 0x94]
mov dword [esp + 0x94], ebx
call fcn.45f48e14
push dword [esp + 0x94]
push edi
call fcn.45f48e86
add esp, 0x10
cmp al, bl
jne 0x45e41769
mov al, byte [0x4603ba3f]
test al, al
jne 0x45e41644
cmp dword [esp + 0x88], ebx
jne 0x45e417c8
push 0x1a9e
jmp 0x45e415c4
lea eax, [esp + 0x7c]
push eax
push 0x1a9a
push 0x45dc1bbc
mov esi, 0x80004005
push esi
mov dword [esp + 0x8c], ebx
call fcn.45f85675
mov eax, dword [esp + 0x8c]
add esp, 0x10
mov dword [esp + 0x138], eax
mov dword [esp + 0x130], 0x45dc096c
mov dword [esp + 0x134], esi
mov dword [esp + 0x13c], ebx
push 0x45ff0f98
lea eax, [esp + 0x134]
push eax
call fcn.45fb1416
lea eax, [esp + 0x84]
push eax
push 0x1a9b
push 0x45dc1bbc
mov esi, 0x80004005
push esi
mov dword [esp + 0x94], ebx
call fcn.45f85675
mov eax, dword [esp + 0x94]
add esp, 0x10
mov dword [esp + 0x148], eax
mov dword [esp + 0x140], 0x45dc096c
mov dword [esp + 0x144], esi
mov dword [esp + 0x14c], ebx
push 0x45ff0f98
lea eax, [esp + 0x144]
jmp 0x45e416f8
push 0x2a3
push 0x45dd06d0
jmp 0x45e415c9
lea eax, [esp + 0x94]
push eax
push 0x1a9d
push 0x45dc1bbc
mov esi, 0x80004005
push esi
mov dword [esp + 0xa4], ebx
call fcn.45f85675
mov eax, dword [esp + 0xa4]
add esp, 0x10
mov dword [esp + 0x128], eax
mov dword [esp + 0x120], 0x45dc096c
mov dword [esp + 0x124], esi
mov dword [esp + 0x12c], ebx
push 0x45ff0f98
lea eax, [esp + 0x124]
jmp 0x45e416f8
cmp dword [esp + 0x50], ebx
jne 0x45e417d8
push 0x1a9f
jmp 0x45e415c4
cmp dword [esp + 0x40], ebx
jne 0x45e417e8
push 0x1aa0
jmp 0x45e415c4
cmp dword [ebp + 0x34], ebx
jne 0x45e417f7
push 0x1aa1
jmp 0x45e415c4
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x6e8], 2
lea eax, [esp + 0x5c]
push eax
call fcn.45efaa70
pop ecx
mov byte [esp + 0x6e8], 3
lea edi, [esp + 0x1c]
call fcn.45f41bd2
mov byte [esp + 0x6e8], 2
lea ecx, [esp + 0x5c]
call fcn.45e26349
cmp dword [esp + 0x1c], ebx
je 0x45e41898
mov al, byte [0x4603ba3f]
test al, al
jne 0x45e41830
lea eax, [esp + 0x170]
push eax
call fcn.45e2853c
mov byte [esp + 0x6e8], 4
push 1
push dword [esp + 0x20]
lea ecx, [esp + 0x178]
call fcn.45eea611
pop ecx
pop ecx
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x174]
call fcn.45f3fa46
mov byte [esp + 0x6e8], 5
mov edi, dword [ebp + 0x10]
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x14]
call fcn.45f37065
jmp 0x45e41a9c
lea eax, [esp + 0xb0]
push eax
push 0x1aab
push 0x45dc1bbc
mov esi, 0x80004005
push esi
mov dword [esp + 0xc0], ebx
call fcn.45f85675
mov eax, dword [esp + 0xc0]
add esp, 0x10
mov dword [esp + 0x168], eax
mov dword [esp + 0x160], 0x45dc096c
mov dword [esp + 0x164], esi
mov dword [esp + 0x16c], ebx
push 0x45ff0f98
lea eax, [esp + 0x164]
jmp 0x45e416f8
lea esi, [esp + 0x14]
call fcn.45e66a30
mov eax, dword [eax]
call fcn.45f47764
test al, al
jne 0x45e41b3f
mov al, byte [0x4603ba3f]
test al, al
jne 0x45e418f7
call fcn.45e66a30
lea ecx, [esp + 0x170]
push ecx
push dword [eax]
call fcn.45e499d5
pop ecx
pop ecx
test al, al
je 0x45e41a90
lea eax, [esp + 0x220]
push eax
call fcn.45e2853c
mov byte [esp + 0x6e8], 6
call fcn.45e66a30
push dword [eax]
lea eax, [esp + 0x68]
push eax
call fcn.45e11d4f
mov byte [esp + 0x6e8], 7
push 2
push dword [esp + 0x68]
lea eax, [esp + 0x338]
push eax
call fcn.45e46bd3
add esp, 0xc
mov byte [esp + 0x6e8], 8
lea ecx, [esp + 0x220]
call fcn.45e284a9
mov byte [esp + 0x6e8], 7
lea eax, [esp + 0x330]
push eax
call fcn.45e284c6
lea ecx, [esp + 0x220]
call fcn.45f41083
test al, al
jne 0x45e41ba0
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x224]
lea ecx, [esp + 0x224]
call dword [eax + 0x24]
mov byte [esp + 0x6e8], 9
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0xec]
call dword [eax + 0x24]
mov byte [esp + 0x6e8], 0xa
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x360]
push eax
lea edx, [esp + 0xb4]
call fcn.45e81a41
pop ecx
pop ecx
mov byte [esp + 0x6e8], 0xb
lea ecx, [esp + 0xe8]
call fcn.45e284a9
mov byte [esp + 0x6e8], 0xa
lea eax, [esp + 0x35c]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 9
mov eax, dword [esp + 0xac]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [esp + 0x6e8], 7
mov eax, dword [esp + 0x78]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [esp + 0x6e8], 6
lea eax, [esp + 0x64]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 5
lea eax, [esp + 0x220]
push eax
call fcn.45e284c6
lea esi, [esp + 0x14]
call fcn.45e6762d
mov edi, dword [ebp + 0x10]
mov ebx, dword [edi + 0x10]
lea esi, [esp + 0xb4]
call fcn.45f37065
mov edi, esi
lea esi, [esp + 0x14]
call fcn.45e66a5f
test al, al
jne 0x45e418f7
lea eax, [esp + 0x44]
push eax
call fcn.45e118e4
mov byte [esp + 0x6e8], 0xc
push dword [esp + 0x44]
lea esi, [esp + 0xc0]
push 5
pop eax
call fcn.45f46320
mov byte [esp + 0x6e8], 0xd
lea eax, [esp + 0x1bc]
push eax
mov ecx, esi
call fcn.45f46380
mov byte [esp + 0x6e8], 0xe
lea eax, [esp + 0x2b8]
call fcn.45f4640b
mov byte [esp + 0x6e8], 0xf
mov cl, byte [esp + 0x1d8]
cmp cl, byte [eax + 0x1c]
setne bl
mov byte [esp + 0x6e8], 0xe
lea eax, [esp + 0x2b8]
push eax
call fcn.45e25f20
xor edi, edi
jmp 0x45e41dbb
and dword [esp + 0xa8], 0
lea eax, [esp + 0xa8]
push eax
push 0x1ab9
push 0x45dc1bbc
mov esi, 0x80004005
push esi
call fcn.45f85675
mov eax, dword [esp + 0xb8]
add esp, 0x10
and dword [esp + 0x15c], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x150], 0x45dc096c
mov dword [esp + 0x154], esi
push 0x45ff0f98
lea eax, [esp + 0x154]
jmp 0x45e416f8
mov byte [esp + 0x6e8], 6
lea eax, [esp + 0x64]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 5
lea eax, [esp + 0x220]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 4
lea eax, [esp + 0xe8]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 2
lea eax, [esp + 0x170]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0
lea ecx, [esp + 0x1c]
call fcn.45e26349
or dword [esp + 0x6e8], 0xffffffff
lea eax, [esp + 0x28]
push eax
call fcn.45e56773
xor eax, eax
inc eax
jmp 0x45e42878
mov eax, dword [esp + 0x1c4]
push dword [esp + eax*4 + 0x1c8]
lea eax, [esp + 0x4c]
push eax
call fcn.45f0b2b8
mov byte [esp + 0x6e8], 0x10
cmp dword [esp + 0x48], edi
je 0x45e41d67
push dword [esp + 0x48]
lea eax, [esp + 0x64]
push eax
call fcn.45e11d4f
mov byte [esp + 0x6e8], 0x11
mov eax, dword [eax]
push 2
push eax
lea eax, [esp + 0x254]
push eax
call fcn.45e46bd3
add esp, 0xc
mov byte [esp + 0x6e8], 0x13
lea eax, [esp + 0x60]
push eax
call fcn.45df1a56
lea ecx, [esp + 0x24c]
call fcn.45f41083
test al, al
jne 0x45e41e34
lea eax, [esp + 0xa4]
push eax
mov eax, dword [esp + 0x250]
lea ecx, [esp + 0x250]
call dword [eax + 0x24]
mov byte [esp + 0x6e8], 0x14
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0xec]
call dword [eax + 0x24]
mov byte [esp + 0x6e8], 0x15
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x308]
push eax
lea edx, [esp + 0x88]
call fcn.45e81a41
pop ecx
pop ecx
mov byte [esp + 0x6e8], 0x16
lea ecx, [esp + 0xe8]
call fcn.45e284a9
mov byte [esp + 0x6e8], 0x15
lea eax, [esp + 0x304]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0x14
mov eax, dword [esp + 0x80]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [esp + 0x6e8], 0x13
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [esp + 0x6e8], 0x10
lea eax, [esp + 0x24c]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0xe
lea ecx, [esp + 0x48]
call fcn.45e26349
lea eax, [esp + 0x1bc]
push eax
call fcn.45f465fb
lea eax, [esp + 0x2b8]
call fcn.45f4640b
mov byte [esp + 0x6e8], 0xf
mov cl, byte [esp + 0x1d8]
cmp cl, byte [eax + 0x1c]
setne bl
mov byte [esp + 0x6e8], 0xe
lea eax, [esp + 0x2b8]
push eax
call fcn.45e25f20
test bl, bl
jne 0x45e41c1c
mov byte [esp + 0x6e8], 0xd
lea eax, [esp + 0x1bc]
push eax
call fcn.45e25f20
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0xe8]
call fcn.45e284a9
push 0x45db1998
push 3
pop eax
lea ecx, [esp + 0x118]
call fcn.45f46638
mov byte [esp + 0x6e8], 0x17
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x118]
call fcn.45f46380
mov byte [esp + 0x6e8], 0x18
lea eax, [esp + 0x298]
call fcn.45f4640b
jmp 0x45e42028
mov byte [esp + 0x6e8], 0x10
lea eax, [esp + 0x24c]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0xe
lea ecx, [esp + 0x48]
call fcn.45e26349
mov byte [esp + 0x6e8], 0xd
lea eax, [esp + 0x1bc]
push eax
call fcn.45e25f20
mov byte [esp + 0x6e8], 0xc
lea eax, [esp + 0xbc]
push eax
call fcn.45e25efb
mov byte [esp + 0x6e8], 5
lea eax, [esp + 0x44]
push eax
call fcn.45e56773
jmp 0x45e41bc7
lea eax, [esp + 0x53c]
push eax
call fcn.45e3a6b2
mov byte [esp + 0x6e8], 0x1a
mov eax, dword [esp + 0xd0]
push dword [esp + eax*4 + 0xd4]
lea eax, [esp + 0x28]
push eax
call fcn.45e11d17
mov byte [esp + 0x6e8], 0x1b
cmp dword [esp + 0x24], edi
je 0x45e41fe9
mov eax, dword [esp + 0xd0]
mov eax, dword [esp + eax*4 + 0xd4]
lea ecx, [esp + 0x53c]
push ecx
push eax
push dword [esp + 0x54]
call fcn.45e336a9
test al, al
je 0x45e41fe9
lea esi, [esp + 0x24]
call fcn.45e49b5a
test al, al
jne 0x45e41fe9
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x54c]
call fcn.45e275e2
mov byte [esp + 0x6e8], 0x1c
lea eax, [esp + 0x1f4]
push eax
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0xec]
call dword [eax + 0x170]
test al, al
je 0x45e41fd4
push edi
lea eax, [esp + 0x1f8]
push eax
lea ecx, [esp + 0xf0]
call fcn.45f3f999
test al, al
jne 0x45e41fd4
mov eax, dword [esp + 0xd0]
push dword [esp + eax*4 + 0xd4]
lea eax, [esp + 0x58]
push eax
call fcn.45e12114
mov byte [esp + 0x6e8], 0x1d
mov eax, dword [esp + 0x54]
mov dword [esp + 0x9c], edi
cmp eax, edi
je 0x45e4206f
mov ecx, dword [eax]
lea edx, [esp + 0x9c]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, edi
jl 0x45e4205f
cmp dword [esp + 0x9c], edi
je 0x45e4206f
mov byte [esp + 0x6e8], 0x1c
lea eax, [esp + 0x54]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x1b
lea eax, [esp + 0x1f4]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0x1a
lea eax, [esp + 0x24]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x18
lea ecx, [esp + 0x53c]
call fcn.45e3aa10
lea eax, [esp + 0xc8]
push eax
call fcn.45f465fb
lea eax, [esp + 0x298]
call fcn.45f4640b
mov byte [esp + 0x6e8], 0x19
mov cl, byte [esp + 0xe4]
cmp cl, byte [eax + 0x1c]
setne bl
mov byte [esp + 0x6e8], 0x18
lea eax, [esp + 0x298]
push eax
call fcn.45e25f20
test bl, bl
jne 0x45e41e9b
jmp 0x45e421c6
push 0x1b05
push 0x45dc1bbc
push eax
call fcn.45f857be
lea eax, [esp + 0x1f4]
push eax
call fcn.45e48fba
test al, al
jne 0x45e42179
mov byte [esp + 0x6e8], 0x1c
lea eax, [esp + 0x54]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x1b
lea eax, [esp + 0x1f4]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0x1a
lea eax, [esp + 0x24]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x18
lea ecx, [esp + 0x53c]
call fcn.45e3aa10
mov byte [esp + 0x6e8], 0x17
lea eax, [esp + 0xc8]
push eax
call fcn.45e25f20
xor esi, esi
inc esi
mov byte [esp + 0x6e8], 0xd
lea eax, [esp + 0x114]
push eax
call fcn.45de8acd
mov byte [esp + 0x6e8], 0xc
lea eax, [esp + 0xbc]
push eax
call fcn.45e25efb
mov byte [esp + 0x6e8], 5
lea eax, [esp + 0x44]
push eax
call fcn.45e56773
mov byte [esp + 0x6e8], 4
lea eax, [esp + 0xe8]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 2
lea eax, [esp + 0x170]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0
lea ecx, [esp + 0x1c]
call fcn.45e26349
or dword [esp + 0x6e8], 0xffffffff
lea eax, [esp + 0x28]
push eax
call fcn.45e56773
mov eax, esi
jmp 0x45e42878
mov byte [esp + 0x6e8], 0x1c
lea eax, [esp + 0x54]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x1b
lea eax, [esp + 0x1f4]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0x1a
lea eax, [esp + 0x24]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x18
lea ecx, [esp + 0x53c]
call fcn.45e3aa10
mov byte [esp + 0x6e8], 0x17
lea eax, [esp + 0xc8]
push eax
call fcn.45e25f20
push dword [esp + 0x90]
push ecx
mov ecx, dword [0x4603911c]
mov eax, esp
mov dword [esp + 0x68], esp
mov dword [eax], ecx
mov byte [esp + 0x6f0], 0x1e
sub esp, 0x2c
mov eax, esp
mov dword [esp + 0x90], esp
push eax
lea ecx, [esp + 0x120]
call fcn.45e275e2
mov byte [esp + 0x71c], 0x1f
push edi
push edi
push 1
push dword [ebp + 0x34]
mov esi, dword [esp + 0x94]
push dword [esp + 0x9c]
mov eax, dword [esp + 0x64]
push dword [esp + 0xe8]
push dword [esp + 0xe4]
push dword [esp + 0xc0]
push dword [esp + 0xbc]
push dword [esp + 0xcc]
push dword [ebp + 0x18]
push dword [esp + 0xa0]
push dword [esi]
push dword [ebp + 0xc]
push eax
push dword [esp + 0xbc]
mov byte [esp + 0x75c], 0x17
call fcn.45e438e7
cmp eax, edi
je 0x45e42285
mov esi, eax
jmp 0x45e420e9
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0xc0]
call fcn.45f46380
mov byte [esp + 0x6e8], 0x20
lea eax, [esp + 0x278]
call fcn.45f4640b
jmp 0x45e425a4
mov eax, dword [esp + 0x1a4]
push dword [esp + eax*4 + 0x1a8]
lea eax, [esp + 0x24]
push eax
call fcn.45f0b2b8
mov byte [esp + 0x6e8], 0x22
cmp dword [esp + 0x20], edi
je 0x45e4257a
lea eax, [esp + 0x2c]
push eax
call fcn.45e27b6d
mov byte [esp + 0x6e8], 0x23
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
push 0xfffffc17
push 0xfffffffffffffffe
push eax
call dword [ecx + 0x24]
test eax, eax
jl 0x45e42562
mov si, word [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
cmp si, 0xb
je 0x45e4234b
cmp si, 3
je 0x45e42350
cmp si, 0x13
je 0x45e42341
cmp si, 0x14
je 0x45e4233b
cmp si, 0x15
jne 0x45e42562
cmp si, 0x13
jne 0x45e42359
xor ecx, ecx
mov eax, ebx
mov dword [esp + 0x18], ecx
jmp 0x45e42373
movsx eax, bx
jmp 0x45e42352
mov eax, ebx
cdq
mov dword [esp + 0x18], edx
jmp 0x45e42373
cmp si, 0x14
je 0x45e42365
cmp si, 0x15
jne 0x45e4236d
mov eax, ebx
mov dword [esp + 0x18], edi
jmp 0x45e42373
xor eax, eax
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
je 0x45e42562
cmp si, 0xb
jne 0x45e42387
movsx eax, bx
jmp 0x45e4238f
cmp si, 3
jne 0x45e42396
mov eax, ebx
cdq
mov dword [esp + 0x18], edx
jmp 0x45e423c0
cmp si, 0x13
jne 0x45e423a6
xor ecx, ecx
mov eax, ebx
mov dword [esp + 0x18], ecx
jmp 0x45e423c0
cmp si, 0x14
je 0x45e423b2
cmp si, 0x15
jne 0x45e423ba
mov eax, ebx
mov dword [esp + 0x18], edi
jmp 0x45e423c0
xor eax, eax
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
je 0x45e42562
mov ax, word [esp + 0x2c]
mov esi, 0x45db1998
lea edi, [esp + 0x6c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp ax, 0xb
jne 0x45e423e9
movsx eax, bx
jmp 0x45e423f1
cmp ax, 3
jne 0x45e423f8
mov eax, ebx
cdq
mov dword [esp + 0x18], edx
jmp 0x45e42420
cmp ax, 0x13
jne 0x45e42402
xor ecx, ecx
jmp 0x45e42412
cmp ax, 0x14
je 0x45e4240e
cmp ax, 0x15
jne 0x45e4241a
mov ecx, dword [esp + 0x38]
mov eax, ebx
mov dword [esp + 0x18], ecx
jmp 0x45e42420
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
lea esi, [esp + 0x6c8]
push esi
push 0xfffffc14
push eax
push ecx
call dword [edx + 0x1c]
test eax, eax
jl 0x45e4244a
push 4
pop ecx
mov edi, 0x45dc536c
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x45e424be
mov ax, word [esp + 0x2c]
cmp ax, 0xb
jne 0x45e4245c
movsx eax, word [esp + 0x34]
jmp 0x45e42466
cmp ax, 3
jne 0x45e4246d
mov eax, dword [esp + 0x34]
cdq
mov dword [esp + 0x18], edx
jmp 0x45e42497
cmp ax, 0x13
jne 0x45e42477
xor ecx, ecx
jmp 0x45e42487
cmp ax, 0x14
je 0x45e42483
cmp ax, 0x15
jne 0x45e42491
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
jmp 0x45e42497
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
lea esi, [esp + 0x2c]
push esi
push 0xfffffc16
push eax
push ecx
call dword [edx + 0x24]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov si, word [esp + 0x2c]
jmp 0x45e4237c
push dword [esp + 0x90]
push ecx
mov ecx, dword [0x4603911c]
mov eax, esp
mov dword [esp + 0x68], esp
mov dword [eax], ecx
mov byte [esp + 0x6f0], 0x24
sub esp, 0x2c
mov eax, esp
mov dword [esp + 0x90], esp
push eax
call fcn.45e2853c
mov byte [esp + 0x71c], 0x25
push 0
push 0
push 2
push dword [ebp + 0x34]
mov ecx, dword [esp + 0x94]
push dword [esp + 0x9c]
mov eax, dword [esp + 0x68]
push dword [esp + 0xe8]
push dword [esp + 0xe4]
push dword [esp + 0xc0]
push dword [esp + 0xbc]
push dword [esp + 0xcc]
push dword [ebp + 0x18]
push dword [esp + 0xa0]
push dword [ecx]
push dword [ebp + 0xc]
push eax
push dword [esp + 0xbc]
mov byte [esp + 0x75c], 0x23
call fcn.45e438e7
mov esi, eax
test esi, esi
jne 0x45e4265a
mov byte [esp + 0x6e8], 0x22
lea eax, [esp + 0x2c]
push eax
call fcn.45e27c74
mov esi, dword [esp + 0x50]
xor edi, edi
mov byte [esp + 0x6e8], 0x20
lea ecx, [esp + 0x20]
call fcn.45e26349
lea eax, [esp + 0x19c]
push eax
call fcn.45f465fb
lea eax, [esp + 0x278]
call fcn.45f4640b
mov byte [esp + 0x6e8], 0x21
mov cl, byte [esp + 0x1b8]
cmp cl, byte [eax + 0x1c]
setne bl
mov byte [esp + 0x6e8], 0x20
lea eax, [esp + 0x278]
push eax
call fcn.45e25f20
test bl, bl
jne 0x45e422b2
mov byte [esp + 0x6e8], 0x17
lea eax, [esp + 0x19c]
push eax
call fcn.45e25f20
lea eax, [esp + 0x3b4]
push eax
call fcn.45e3a6b2
mov byte [esp + 0x6e8], 0x26
lea eax, [esp + 0x3b4]
push eax
push dword [esp + 0x20]
push dword [esp + 0x54]
call fcn.45e336a9
test al, al
je 0x45e42697
lea eax, [esp + 0x388]
push eax
lea ecx, [esp + 0x174]
call fcn.45f3fa46
mov byte [esp + 0x6e8], 0x27
push eax
mov eax, dword [esp + 0x3c4]
lea ecx, [esp + 0x3c4]
mov dword [esp + 0x40], 1
call dword [eax + 0x170]
test al, al
je 0x45e42697
inc bl
jmp 0x45e42699
mov byte [esp + 0x6e8], 0x22
lea eax, [esp + 0x2c]
push eax
call fcn.45e27c74
mov byte [esp + 0x6e8], 0x20
lea ecx, [esp + 0x20]
call fcn.45e26349
mov byte [esp + 0x6e8], 0x17
lea eax, [esp + 0x19c]
push eax
call fcn.45e25f20
jmp 0x45e420e9
xor bl, bl
mov dword [esp + 0x6e8], 0x26
test byte [esp + 0x3c], 1
je 0x45e426bd
and dword [esp + 0x3c], 0xfffffffe
lea eax, [esp + 0x388]
push eax
call fcn.45e284c6
test bl, bl
je 0x45e427c9
lea eax, [esp + 0x2d8]
push eax
lea ecx, [esp + 0x174]
call fcn.45ef2ec5
pop ecx
mov byte [esp + 0x6e8], 0x28
lea eax, [esp + 0x170]
push eax
lea edx, [esp + 0x3c4]
call fcn.45ef29b6
pop ecx
test al, al
jne 0x45e42729
mov byte [esp + 0x6e8], 0x26
lea eax, [esp + 0x2d8]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0x17
lea ecx, [esp + 0x3b4]
call fcn.45e3aa10
jmp 0x45e420e6
lea eax, [esp + 0x1dc]
push eax
call fcn.45e11a70
mov byte [esp + 0x6e8], 0x29
lea eax, [esp + 0x2d8]
push eax
lea eax, [esp + 0x1e0]
call fcn.45e11c6d
push dword [esp + 0x1c]
lea eax, [esp + 0x70]
push eax
call fcn.45e11a3e
mov byte [esp + 0x6e8], 0x2a
push dword [esp + 0x58]
lea ecx, [esp + 0x1e0]
push dword [esp + 0x70]
call fcn.45e428a3
lea eax, [esp + 0x2d8]
push eax
mov eax, dword [esp + 0x6c]
call fcn.45e141ea
mov byte [esp + 0x6e8], 0x29
lea eax, [esp + 0x6c]
push eax
call fcn.45df1a56
mov byte [esp + 0x6e8], 0x28
lea eax, [esp + 0x1dc]
push eax
call fcn.45e11aad
mov byte [esp + 0x6e8], 0x26
lea eax, [esp + 0x2d8]
push eax
call fcn.45e284c6
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
call dword [eax + 0x5c]
test al, al
jne 0x45e427d9
or dword [esi], 2
mov byte [esp + 0x6e8], 0x17
lea ecx, [esp + 0x3b4]
call fcn.45e3aa10
mov byte [esp + 0x6e8], 0xd
lea eax, [esp + 0x114]
push eax
call fcn.45de8acd
mov byte [esp + 0x6e8], 0xc
lea eax, [esp + 0xbc]
push eax
call fcn.45e25efb
mov byte [esp + 0x6e8], 5
lea eax, [esp + 0x44]
push eax
call fcn.45e56773
mov byte [esp + 0x6e8], 4
lea eax, [esp + 0xe8]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 2
lea eax, [esp + 0x170]
push eax
call fcn.45e284c6
mov byte [esp + 0x6e8], 0
lea ecx, [esp + 0x1c]
call fcn.45e26349
or dword [esp + 0x6e8], 0xffffffff
lea eax, [esp + 0x28]
push eax
call fcn.45e56773
xor eax, eax
mov ecx, dword [esp + 0x6e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c8]
xor ecx, esp
call fcn.45fa9e5d
mov esp, ebp
pop ebp
ret 0x34