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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x549f25
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
push esi
mov esi, dword [ebp + 8]
xor eax, eax
mov edx, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xec], 0
push edi
mov dword [ebp - 0xb0], 0x2b
mov dword [ebp - 0xdc], 0
lea ecx, [edx + 2]
mov dword [ebp - 0xd8], 7
mov word [ebp - 0xec], ax
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x45dbd0
sub edx, ecx
lea ecx, [ebp - 0xec]
sar edx, 1
push edx
push esi
call fcn.0041ffd0
push 1
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004b9fc0
add esp, 0x10
mov edx, dword [ebp - 0xd8]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x45dc53
mov ecx, dword [ebp - 0xec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45dc49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push edx
push ecx
call fcn.004b9160
add esp, 8
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov esi, dword [ebp - 0x7c]
xor edi, edi
mov word [ebp - 0xec], ax
sub ecx, esi
mov eax, 0x2aaaaaab
mov dword [ebp - 0xdc], 0
imul ecx
mov dword [ebp - 0xd8], 7
sar edx, 2
mov eax, edx
mov dword [ebp - 0x18], edi
shr eax, 0x1f
add eax, edx
je 0x45e397
lea eax, [edi + edi*2]
shl eax, 3
add esi, eax
mov dword [ebp - 0x40], eax
mov eax, esi
cmp dword [esi + 0x14], 8
mov edi, dword [esi + 0x10]
mov dword [ebp + 8], edi
jb 0x45dcaf
mov eax, dword [esi]
push 1
push 0x55c090
push 0
push edi
push eax
call fcn.00413df0
add esp, 0x14
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
je 0x45e0f3
xor ecx, ecx
mov dword [ebp - 0x70], 0
mov word [ebp - 0x70], cx
cmp edi, eax
mov ecx, eax
mov dword [ebp - 0x60], 0
cmovb ecx, edi
mov dword [ebp - 0x5c], 7
cmp dword [esi + 0x14], 8
jb 0x45dcf8
mov esi, dword [esi]
push ecx
push esi
lea ecx, [ebp - 0x70]
call fcn.0041ffd0
cmp dword [ebp - 0x5c], 8
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 0x70]
lea ecx, [ebp - 0x70]
cmovae eax, edx
mov byte [ebp - 4], 3
mov dword [ebp + 8], eax
lea edi, [ebp - 0x70]
mov eax, dword [ebp - 0x60]
cmovae ecx, edx
cmovae edi, edx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
cmp edi, eax
je 0x45dd4c
mov esi, dword [ebp + 8]
sub esi, edi
movzx eax, word [edi]
push eax
call fcn.00525f32
mov word [edi + esi], ax
add esp, 4
add edi, 2
cmp edi, dword [ebp - 0x20]
jne 0x45dd34
mov ecx, dword [ebp - 0x40]
xor eax, eax
add ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
cmp edx, esi
jb 0x45e7c2
sub edx, esi
or eax, 0xffffffff
cmp edx, 0xffffffff
cmovb eax, edx
cmp dword [ecx + 0x14], 8
mov dword [ebp + 8], eax
jb 0x45dd92
mov ecx, dword [ecx]
lea ecx, [ecx + esi*2]
mov dword [ebp - 0x10], ecx
cmp eax, 7
ja 0x45ddba
lea esi, [eax + eax]
mov dword [ebp - 0x48], eax
push esi
push ecx
lea eax, [ebp - 0x58]
push eax
call fcn.00518310
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x58], ax
jmp 0x45de14
cmp eax, 0x7ffffffe
ja 0x45e7bd
mov esi, eax
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x45ddd9
mov esi, 0x7ffffffe
jmp 0x45dde4
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041fba0
mov edi, eax
mov dword [ebp - 0x44], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x48], eax
lea esi, [eax + eax]
push esi
push dword [ebp - 0x10]
push edi
call fcn.00518310
add esp, 0xc
mov dword [ebp - 0x58], edi
xor eax, eax
mov word [edi + esi], ax
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x70]
add edi, 0xec
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xac]
mov dword [ebp + 8], edi
call fcn.004153e0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x94]
call fcn.004153e0
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.00442f00
mov edx, dword [eax + 8]
movq xmm0, qword [eax]
movq qword [ebp - 0x154], xmm0
cmp byte [edx + 0xd], 0
jne 0x45dedc
mov edi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x45de82
mov edx, dword [edx]
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0xac]
mov esi, dword [ebp - 0xac]
cmp eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x9c]
cmovae ecx, esi
cmp edi, eax
cmovb eax, edi
push eax
push edx
push ecx
call fcn.00420470
add esp, 0xc
test eax, eax
jne 0x45deca
mov eax, dword [ebp - 0x9c]
cmp edi, eax
jbe 0x45dec6
or eax, 0xffffffff
jmp 0x45deca
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
jne 0x45ded9
mov edi, dword [ebp - 0x80]
jmp 0x45df9e
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 0x3ffffff
je 0x45e7b8
mov esi, dword [edi]
mov dword [ebp - 0x148], edi
push 0x40
mov byte [ebp - 4], 7
mov dword [ebp - 0x144], 0
call fcn.004b9130
movups xmm0, xmmword [ebp - 0xac]
add esp, 4
mov dword [ebp - 0x20], 7
xor ecx, ecx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movups xmmword [eax + 0x10], xmm0
lea edi, [ecx + 7]
mov word [ebp - 0xac], cx
movq xmm0, qword [ebp - 0x9c]
movq qword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x94]
push eax
push dword [ebp - 0x150]
movups xmmword [eax + 0x28], xmm0
mov word [ebp - 0x94], cx
movq xmm0, qword [ebp - 0x84]
push dword [ebp - 0x154]
movq qword [eax + 0x38], xmm0
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [ebp - 0x84], ecx
mov word [eax + 0xc], cx
mov dword [ebp - 0x144], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x9c], 0
call fcn.004529f0
mov esi, dword [ebp - 0xac]
mov byte [ebp - 4], 4
cmp edi, 8
jb 0x45dfdc
mov ecx, dword [ebp - 0x94]
lea edx, [edi*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45dfd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x80], 7
cmp eax, 8
jb 0x45e02d
lea ecx, [eax*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x45e023
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push ecx
push esi
call fcn.004b9160
add esp, 8
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 7
mov word [ebp - 0xac], ax
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x45e088
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e07e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push edx
push ecx
call fcn.004b9160
add esp, 8
mov edx, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x45e0da
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e0d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
jmp 0x45e36f
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
jb 0x45e110
mov esi, dword [esi]
cmp edi, 8
jae 0x45e126
movups xmm0, xmmword [esi]
mov dword [ebp - 0x2c], edi
mov edi, 7
movups xmmword [ebp - 0x3c], xmm0
jmp 0x45e161
or edi, 7
lea ecx, [ebp - 0x3c]
cmp edi, 0x7ffffffe
mov eax, 0x7ffffffe
cmova edi, eax
lea eax, [edi + 1]
push eax
call fcn.0041fba0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
lea ecx, [ecx*2 + 2]
push ecx
push esi
push eax
call fcn.00518310
mov eax, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edi
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x3c]
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x3c]
cmp edi, 8
mov byte [ebp - 4], 8
cmovae eax, ecx
cmovae edx, ecx
lea eax, [eax + esi*2]
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x10], eax
cmovae esi, ecx
cmp esi, eax
je 0x45e1ac
sub edx, esi
mov dword [ebp + 8], edx
mov edi, edx
movzx eax, word [esi]
push eax
call fcn.00525f32
mov word [esi + edi], ax
add esp, 4
add esi, 2
cmp esi, dword [ebp - 0x10]
jne 0x45e194
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x3c]
add esi, 0xec
lea ecx, [ebp - 0xd4]
push eax
mov dword [ebp + 8], esi
call fcn.004153e0
mov dword [ebp - 0xbc], 0x554358
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x1a4]
mov ecx, esi
push eax
call fcn.00442f00
mov edx, dword [eax + 8]
movq xmm0, qword [eax]
movq qword [ebp - 0xf8], xmm0
cmp byte [edx + 0xd], 0
jne 0x45e258
mov esi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x45e20d
mov edx, dword [edx]
cmp dword [ebp - 0xc0], 8
lea ecx, [ebp - 0xd4]
mov edi, dword [ebp - 0xc4]
mov eax, edi
cmovae ecx, dword [ebp - 0xd4]
cmp esi, edi
cmovb eax, esi
push eax
push edx
push ecx
call fcn.00420470
add esp, 0xc
test eax, eax
jne 0x45e24a
cmp esi, edi
jbe 0x45e246
or eax, 0xffffffff
jmp 0x45e24a
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x45e312
mov esi, dword [ebp + 8]
cmp dword [esi + 4], 0x3ffffff
je 0x45e7b8
mov edi, dword [esi]
mov dword [ebp - 0xb8], esi
push 0x40
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xb4], 0
call fcn.004b9130
mov esi, eax
add esp, 4
mov dword [ebp - 0xb4], esi
movups xmm0, xmmword [ebp - 0xd4]
lea ecx, [esi + 0x10]
xor eax, eax
mov dword [ebp - 0x10], ecx
movups xmmword [ecx], xmm0
mov word [ebp - 0xd4], ax
movq xmm0, qword [ebp - 0xc4]
movq qword [ecx + 0x10], xmm0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
add ecx, 0x18
mov byte [ebp - 4], 0xc
push eax
push 0x554358
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
call fcn.0041ffd0
mov ecx, dword [ebp + 8]
push esi
push dword [ebp - 0xf4]
mov dword [esi], edi
push dword [ebp - 0xf8]
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov word [esi + 0xc], 0
mov dword [ebp - 0xb4], 0
call fcn.004529f0
lea ecx, [ebp - 0xd4]
call fcn.00416700
mov edx, dword [ebp - 0x28]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x45e35b
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e351
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7b3
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
mov ecx, dword [ebp - 0x78]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x7c]
sub ecx, esi
mov edi, dword [ebp - 0x18]
imul ecx
inc edi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x18], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x45dc94
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x110]
push 0x10
push 0x55c094
add edi, 0xec
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 7
call fcn.0041ffd0
lea eax, [ebp - 0x110]
mov ecx, edi
push eax
call fcn.00442df0
mov edx, dword [ebp - 0xfc]
mov esi, eax
cmp edx, 8
jb 0x45e420
mov ecx, dword [ebp - 0x110]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e416
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7c7
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 7
mov word [ebp - 0x110], ax
cmp esi, dword [edi]
je 0x45e4a2
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004b9890
mov esi, dword [ebp - 0x14]
add esp, 8
add esi, 0x194
mov ecx, esi
push eax
call fcn.00417170
lea ecx, [ebp - 0x18c]
call fcn.004166b0
cmp byte [0x5cc2dc], 0
je 0x45e4a2
mov dword [ebp + 8], 0x1025bf8
mov eax, dword [ebp + 8]
sub eax, 0xac9b40
cmp dword [esi + 0x14], 0x10
jb 0x45e490
mov esi, dword [esi]
push esi
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004bad80
add esp, 0xc
push 0xa
push 0x555d7c
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 7
call fcn.0041ffd0
lea eax, [ebp - 0x128]
mov ecx, edi
push eax
call fcn.00442df0
mov edx, dword [ebp - 0x114]
mov esi, eax
cmp edx, 8
jb 0x45e522
mov ecx, dword [ebp - 0x128]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e518
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7c7
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
cmp esi, dword [edi]
je 0x45e65c
cmp dword [esi + 0x3c], 8
lea ecx, [esi + 0x28]
jb 0x45e553
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x38]
lea edx, [ecx + eax*2]
cmp ecx, edx
je 0x45e7cc
movzx eax, word [ecx]
xorps xmm0, xmm0
mov dword [ebp + 8], 0x2d
mov esi, eax
movlpd qword [ebp - 0x1c], xmm0
cmp word [ebp + 8], ax
je 0x45e588
mov dword [ebp - 0x10], 0x2b
cmp word [ebp - 0x10], ax
jne 0x45e58b
add ecx, 2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x160], ecx
lea ecx, [ebp - 0x174]
mov byte [ebp - 0x174], 0
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x15c], edx
call fcn.00455680
test al, al
je 0x45e7cc
cmp word [ebp + 8], si
jne 0x45e5e9
cmp dword [ebp - 0x18], 0x80000000
ja 0x45e7cc
jb 0x45e602
cmp dword [ebp - 0x1c], 0
jmp 0x45e5fc
cmp dword [ebp - 0x18], 0x7fffffff
ja 0x45e7cc
jb 0x45e602
cmp dword [ebp - 0x1c], 0xffffffff
ja 0x45e7cc
push ecx
mov eax, esp
mov ecx, 1
push ecx
mov word [eax], cx
mov eax, esp
push ecx
mov word [eax], cx
mov ecx, esp
push 0x7b2
call fcn.0043bc80
lea ecx, [ebp - 0x40]
call fcn.0043bba0
lea ecx, [ebp - 0x24]
push dword [eax]
call fcn.00447520
lea eax, [ebp - 0xf4]
push fcn.004ceda0
push eax
call fcn.0043eed0
add esp, 8
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0043cbc0
push 7
push str.channel
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
call fcn.0041ffd0
lea eax, [ebp - 0x140]
mov ecx, edi
push eax
call fcn.00442df0
mov edx, dword [ebp - 0x12c]
mov esi, eax
cmp edx, 8
jb 0x45e6dc
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45e6d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45e7c7
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
cmp esi, dword [edi]
je 0x45e799
cmp byte [0x5cc2dc], al
je 0x45e736
mov dword [ebp + 8], 0x104f8a0
lea eax, [esi + 0x28]
mov ecx, dword [ebp + 8]
sub ecx, 0xaf3790
cmp dword [eax + 0x14], 8
jb 0x45e724
mov eax, dword [eax]
push eax
movzx eax, word [0x5cc2dc]
push ecx
push eax
call fcn.004bad80
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
lea ecx, [esi + 0x28]
mov edi, eax
push ecx
lea eax, [ebp - 0x18c]
push eax
call fcn.004bcb00
cmp dword [eax + 0x14], 0x10
mov ecx, esp
mov edx, dword [eax + 0x10]
mov byte [ebp - 4], 0xd
jb 0x45e763
mov eax, dword [eax]
mov dword [ecx], eax
sub esp, 8
mov eax, dword [ebp - 0x14]
add eax, 0x104
mov dword [ecx + 4], edx
mov ecx, esp
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
jb 0x45e780
mov eax, dword [eax]
push edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.00492050
add esp, 0x14
lea ecx, [ebp - 0x18c]
call fcn.004166b0
lea ecx, [ebp - 0x7c]
call fcn.00452d00
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.0051bb5f
call fcn.00452cf0
call fcn.0041fab0
call fcn.0041fad0
call fcn.0051bb5f
call fcn.00445420
int3