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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x110
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, 0xe30fc77a
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], ecx
mov eax, dword [0x4a1388]
add eax, 0x63cd99e0
mov dword [0x4a1388], eax
mov si, word [0x4a5132]
movsx eax, si
cmp edx, eax
jle 0x45147b
mov eax, dword [0x4a2610]
xor eax, 0x45d6
mov cx, word [0x4a83e2]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a83e2], cx
mov eax, dword [0x49cd04]
add eax, 0x7d571c6c
mov dword [0x49cd04], eax
mov dword [0x4a1520], 0xf00e236a
mov dword [esp + 0xe0], 0
mov cx, word [0x4a3c3c]
mov ax, cx
xor eax, 0x4013
mov cx, ax
mov word [0x4a3c3c], cx
mov eax, dword [esp + 0x108]
mov ecx, eax
call fcn.00407400
cmp eax, 0xb
jbe 0x45173c
mov dword [0x4a23dc], 0xddff4e3d
lea ecx, [esp + 0xcc]
call fcn.00449360
mov dx, word [0x4a8bb6]
movsx ecx, dx
cmp ecx, 0xf6c6254a
mov dword [esp + 0x60], eax
jne 0x45150f
mov eax, dword [0x49858c]
imul eax, eax, 0xa5dda8dc
mov dword [0x49858c], eax
mov eax, dword [0x499598]
imul eax, eax, 0xd7f83800
mov ecx, dword [0x4a233c]
xor ecx, eax
mov dword [0x4a233c], ecx
mov ecx, dword [esp + 0x108]
mov eax, esp
lea edx, [esp + 0xb4]
mov dword [eax], edx
mov dword [eax + 8], 0xb
mov dword [eax + 4], 0
mov dword [esp + 0x5c], edx
call fcn.004343f0
sub esp, 0xc
mov eax, esp
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
lea ecx, [esp + 0xcc]
call fcn.0044d360
sub esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
call fcn.00440b30
mov si, word [0x4a87e2]
mov ax, si
xor eax, 0xb239
mov si, ax
mov word [0x4a87e2], si
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x21d6
call fcn.004322b0
mov dword [esp + 0x100], eax
mov si, word [0x4a6eb6]
mov ax, si
inc eax
mov di, ax
mov word [0x4a6eb6], di
movsx eax, si
or eax, 0x3971a5ad
cmp eax, 0x738e564e
jg 0x4515e3
mov eax, dword [0x493cd4]
add eax, 0xa868dc85
mov dword [0x493cd4], eax
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0xcc]
mov dword [esp + 0x54], eax
call fcn.00432a20
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00456cc0
test eax, eax
sete bl
movzx eax, bl
mov dword [esp + 0xc8], eax
mov eax, dword [0x4934f0]
and eax, 0xcbbd5afb
mov dword [0x4934f0], eax
mov eax, dword [esp + 0x100]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.00422f30
mov eax, dword [0x499608]
shl eax, 7
or eax, 0xb73355dd
mov si, word [0x4a6452]
movsx ecx, si
sar ecx, 4
or ecx, 0x9e92c876
cmp eax, ecx
jne 0x451676
mov eax, dword [0x4a17ec]
add eax, 0x4cb5878e
mov dword [0x4a17ec], eax
cmp dword [esp + 0xc8], 0
je 0x451721
mov eax, 0x19fdffdf
mov ecx, dword [0x49c8a8]
and ecx, 0x85d5cd0f
mov dword [0x49c8a8], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x50], eax
call fcn.00407400
add eax, 0xfffffff5
mov dword [esp + 0xe0], eax
mov eax, dword [0x49832c]
mov dx, word [0x4a4526]
movsx ecx, dx
imul eax, ecx
shl eax, 4
mov ecx, dword [0x496b4c]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jg 0x45171c
mov eax, 0xe0187267
mov ecx, dword [0x4a151c]
imul ecx, ecx, 0x3b42f34
cmp eax, ecx
jl 0x451717
mov ax, word [0x4a434e]
movsx ecx, ax
or ecx, 0x3f352a3a
mov edx, dword [0x4a1a54]
xor edx, ecx
mov dword [0x4a1a54], edx
jmp 0x45171c
jmp 0x451721
mov eax, dword [0x493220]
add eax, 0x6c9a04
mov dword [0x493220], eax
lea ecx, [esp + 0xcc]
call fcn.0043ced0
mov eax, 0xc510c208
mov ecx, dword [0x49691c]
xor ecx, 0x87430598
mov dword [0x49691c], ecx
mov ecx, dword [esp + 0x104]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x4c], eax
call fcn.004084b0
sub esp, 4
mov ecx, dword [0x4a0480]
add ecx, 0x14a7b087
sub ecx, 0x91dbacc8
mov edx, dword [esp + 0x4c]
cmp edx, ecx
mov dword [esp + 0x48], eax
jl 0x4517f1
mov eax, dword [0x49fa1c]
mov ecx, dword [0x494684]
inc ecx
mov dword [0x494684], ecx
xor eax, ecx
cmp eax, 0x4d5e0bbf
jle 0x4517c6
mov eax, dword [0x493218]
add eax, 0xceed2b0d
mov dword [0x493218], eax
jmp 0x4517ec
mov ax, word [0x4abe80]
movsx ecx, ax
shr ecx, 9
and ecx, 0x2760
mov ax, word [0x4a6984]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x4a6984], ax
jmp 0x451809
mov ax, word [0x4a91ca]
mov cx, ax
or ecx, 0xfb76
mov ax, cx
mov word [0x4a91ca], ax
mov eax, esp
mov dword [eax + 4], 2
mov dword [eax], 0x808
call fcn.004322b0
mov dword [esp + 0xfc], eax
mov eax, dword [0x49f280]
mov ecx, eax
inc ecx
mov dword [0x49f280], ecx
add eax, 0xf1ead22
and eax, 0xf097
mov dx, word [0x4a655e]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4a655e], dx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x3582
call fcn.004322b0
mov dword [esp + 0xf8], eax
mov eax, dword [0x49f8c0]
dec eax
mov dword [0x49f8c0], eax
and eax, 0x2774063
or eax, 0x6d88b694
mov ecx, dword [0x4922e4]
xor ecx, eax
mov dword [0x4922e4], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x2413
call fcn.004322b0
mov dword [esp + 0xf4], eax
mov dx, word [0x4a61e6]
mov ax, dx
inc eax
mov si, ax
mov word [0x4a61e6], si
movsx eax, dx
and eax, 0x8bc485c2
mov ecx, dword [0x497858]
xor ecx, eax
mov dword [0x497858], ecx
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004575b0
cmp eax, 0
jne 0x451996
mov eax, dword [0x498b40]
or eax, 0x340b54f7
mov dword [0x498b40], eax
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x8c]
mov ecx, eax
mov dword [esp + 0x44], eax
call fcn.004084b0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x40], eax
call fcn.00416140
sub esp, 4
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
call fcn.0043ced0
mov si, word [0x4a54a8]
mov ax, si
dec eax
mov di, ax
mov word [0x4a54a8], di
movsx eax, si
sub eax, 0x841536a8
cmp eax, 0x3b531a2b
jl 0x451991
mov ax, word [0x4abd94]
mov cx, ax
and ecx, 0x7759
mov ax, cx
mov word [0x4abd94], ax
jmp 0x451a41
mov eax, 0xc1a3a3f2
mov cx, word [0x4a419a]
mov dx, cx
dec edx
mov si, dx
mov word [0x4a419a], si
movsx edx, cx
mov edi, dword [0x49b72c]
imul edi, edi, 0xf6cb9239
or edx, edi
cmp eax, edx
je 0x4519ed
mov eax, dword [0x49cf74]
dec eax
mov dword [0x49cf74], eax
imul eax, eax, 0xe18443ed
xor eax, 0x4f00ef51
mov ecx, dword [0x493d28]
or ecx, eax
mov dword [0x493d28], ecx
mov eax, dword [esp + 0xf4]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x78]
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.004084b0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x38]
mov dword [ecx], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x34], eax
call fcn.00416140
sub esp, 4
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
call fcn.0043ced0
mov eax, dword [0x49c234]
add eax, 0xc7fcf742
mov dword [0x49c234], eax
mov eax, 0x8c10dd51
mov ecx, dword [0x4a19bc]
mov edx, dword [0x494b54]
or edx, ecx
mov dword [0x494b54], edx
mov ecx, dword [esp + 0xfc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 2
mov dword [esp + 0x2c], eax
call fcn.00422f30
mov eax, dword [0x49b998]
shl eax, 9
or eax, 0x66ce
mov si, word [0x4a5c48]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4a5c48], si
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00422f30
mov si, word [0x4a3b0a]
mov ax, si
dec eax
mov di, ax
mov word [0x4a3b0a], di
movsx eax, si
mov ecx, dword [0x4958c0]
sub ecx, 0xd0e08550
or eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x451af4
mov eax, dword [0x497564]
mov ecx, dword [0x495f90]
or ecx, eax
mov dword [0x495f90], ecx
mov eax, dword [esp + 0xf4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00422f30
mov eax, dword [0x4a09fc]
xor eax, 0x3b3a2e58
mov dword [0x4a09fc], eax
lea ecx, [esp + 0xa0]
call fcn.00407400
mov ecx, dword [esp + 0xe0]
lea eax, [eax + ecx + 0xd]
mov dword [esp + 0xec], eax
mov eax, dword [0x49c85c]
shl eax, 8
mov ecx, dword [0x49bfe4]
xor eax, ecx
xor eax, 0x5b40392b
mov dword [0x49bfe4], eax
mov eax, dword [esp + 0xec]
add eax, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.004534e9
mov dword [esp + 0xf0], eax
mov eax, dword [0x49eb10]
add eax, 0x8ed98faf
mov dword [0x49eb10], eax
cmp dword [esp + 0xf0], 0
jne 0x451bbc
mov eax, dword [0x49ccb4]
not eax
imul eax, eax, 0xd186d214
mov ecx, dword [0x497f20]
and ecx, eax
mov dword [0x497f20], ecx
mov dword [esp + 0x10c], 0
mov dword [esp + 0x74], 1
jmp 0x452103
mov eax, 0xad22bfec
mov ecx, dword [0x4993d4]
or ecx, 0x5c60eb8a
mov dword [0x4993d4], ecx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov ecx, dword [0x4981a8]
and ecx, 0x6ef87655
mov dword [0x4981a8], ecx
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], 0
mov ecx, dword [0x493018]
add ecx, 0x9f0dedc0
mov edx, dword [0x4a2b44]
imul edx, ecx
mov dword [0x4a2b44], edx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x28], eax
call fcn.00407400
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 8], eax
mov eax, dword [0x4959c0]
mov si, word [0x4a4a5a]
movsx ecx, si
shl ecx, 2
imul ecx, ecx, 0x6105700b
sub eax, ecx
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jg 0x451cba
mov eax, 0x6ab121b
mov ecx, dword [0x4a10b8]
or ecx, 0xc1fbbcf7
cmp eax, ecx
jne 0x451cac
mov eax, 0x874ffbd9
mov cx, word [0x4ab0f2]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4ab0f2], cx
movsx edx, cx
or edx, 0x72159101
cmp eax, edx
jg 0x451ca7
jmp 0x451ca7
jmp 0x451cb5
mov word [0x4ab53e], 0xce3e
jmp 0x451cba
mov eax, dword [esp + 0xf0]
mov byte [eax + 0xc], 2
mov eax, dword [0x4a3374]
not eax
mov dword [0x49678c], eax
mov eax, dword [esp + 0xf0]
add eax, 0xd
lea ecx, [esp + 0xa0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
call fcn.00407a00
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.00407400
mov ecx, esp
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [ecx], edx
call fcn.004527e0
mov eax, dword [0x4a3018]
imul eax, eax, 0xd13950bf
mov si, word [0x4aa612]
mov cx, si
or ecx, eax
mov si, cx
mov word [0x4aa612], si
cmp dword [esp + 0xe0], 0
je 0x451dc6
mov eax, 0x3b2d8c9
mov ecx, dword [0x49c71c]
sar ecx, 7
imul ecx, ecx, 0x9596cfa1
xor ecx, 0x4e8f700e
cmp eax, ecx
jg 0x451d73
mov eax, dword [0x498a34]
xor eax, 0xb49439cc
mov dword [0x498a34], eax
lea ecx, [esp + 0xa0]
call fcn.00407400
mov ecx, dword [esp + 0xf0]
lea eax, [eax + ecx + 0xd]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x18], eax
call fcn.00407a00
add eax, 0xb
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], eax
call fcn.004527e0
mov eax, dword [0x4a1518]
and eax, 0x2b0065ec
mov dword [0x4a1518], eax
mov eax, dword [0x496eb8]
add eax, 0xa4a3252e
mov dword [0x496eb8], eax
mov dword [esp + 0xe4], 0
mov cx, word [0x4a793e]
mov ax, cx
or eax, 0xcf09
mov cx, ax
mov word [0x4a793e], cx
cmp dword [0x4ac940], 0
je 0x4520b9
mov dword [0x492dc8], 0x29f1f138
mov ecx, dword [esp + 0x108]
call fcn.0040aa60
mov ax, word [0x4a8bca]
movsx ecx, ax
not ecx
mov edx, dword [0x4973a4]
sub edx, ecx
mov dword [0x4973a4], edx
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.0041cbf0
sub esp, 8
mov dword [0x496b04], 0x847d4adf
mov ecx, dword [0x49b5e8]
xor ecx, 0xabc63376
mov dword [0x49b5e8], ecx
mov ecx, dword [0x4ac940]
mov edx, esp
lea esi, [esp + 0x64]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x14], eax
call fcn.00430ed0
sub esp, 8
cmp eax, 0
jle 0x452089
mov dword [0x4920d4], 0x96d5a22f
mov ecx, dword [0x4ac940]
mov eax, dword [esp + 0x108]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x64]
mov dword [edx], eax
mov dword [edx + 0xc], 0
mov dword [edx + 8], 2
call fcn.00447cc0
sub esp, 0x10
mov dword [esp + 0xe4], eax
mov eax, dword [0x4973b0]
imul eax, eax, 0xee0d6992
mov ecx, dword [0x498ac4]
xor eax, ecx
mov si, word [0x4a772a]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4a772a], si
cmp dword [esp + 0xe4], 0
jg 0x452006
mov eax, dword [0x49601c]
and eax, 0x7ec88480
mov dword [0x49601c], eax
mov ecx, dword [0x4ac940]
mov eax, esp
lea edx, [esp + 0x64]
mov dword [eax], edx
mov dword [eax + 4], 1
call fcn.00430ed0
sub esp, 8
cmp eax, 0
jle 0x451ffc
mov eax, dword [0x4a3160]
and eax, 0x31f3b98e
mov dword [0x4a3160], eax
mov ecx, dword [esp + 0x108]
call fcn.0040aa60
mov dx, word [0x4abc7a]
mov ax, dx
and eax, 0x17ae
mov dx, ax
mov word [0x4abc7a], dx
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov edi, esp
mov dword [edi + 4], eax
mov dword [edi], esi
call fcn.0041cbf0
sub esp, 8
mov ecx, dword [0x494da0]
or ecx, 0x2e40e1e1
mov dword [0x494da0], ecx
mov ecx, dword [0x4ac940]
mov esi, dword [esp + 0x108]
mov edi, esp
mov dword [edi + 4], esi
lea esi, [esp + 0x64]
mov dword [edi], esi
mov dword [edi + 0xc], 0
mov dword [edi + 8], 2
mov dword [esp + 0x10], eax
call fcn.00447cc0
sub esp, 0x10
mov dword [esp + 0xe4], eax
mov eax, dword [0x49d514]
and eax, 0x60ea088a
mov dword [0x49d514], eax
mov dword [0x499bb8], 0x41bd88ab
mov ax, word [0x4aa4b0]
mov cx, ax
and ecx, 0xce30
mov ax, cx
mov word [0x4aa4b0], ax
cmp dword [esp + 0xe4], 0
jg 0x45205e
mov eax, dword [0x49f6ac]
xor eax, 0x7187b559
mov dword [0x49f6ac], eax
mov ecx, dword [esp + 0x108]
call fcn.0040aa60
mov dx, word [0x4a78c0]
movsx eax, dx
mov ecx, dword [0x49e1f8]
xor eax, ecx
mov dword [0x49e0f8], eax
mov eax, dword [0x4997bc]
mov ecx, dword [0x49ddb4]
mov edx, ecx
dec edx
mov dword [0x49ddb4], edx
mov edx, 0xdef7f0b9
sub edx, ecx
and eax, edx
mov ecx, dword [0x4a0dfc]
sub ecx, eax
mov dword [0x4a0dfc], ecx
mov ax, word [0x4a8c14]
movsx ecx, ax
shl ecx, 9
mov edx, dword [0x494084]
inc edx
mov dword [0x494084], edx
sub ecx, edx
and ecx, 0xdcdacd09
mov edx, dword [0x49918c]
imul edx, ecx
mov dword [0x49918c], edx
mov eax, 0xf7ff3ff7
mov cx, word [0x4a50a6]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a50a6], cx
movsx edx, cx
cmp eax, edx
jne 0x4520ed
mov eax, dword [0x49ece8]
or eax, 0x5d49fbcc
mov dword [0x49ece8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x74], 1
lea ecx, [esp + 0xa0]
call fcn.0043ced0
mov eax, dword [esp + 0x10c]
add esp, 0x110
pop esi
pop edi
pop ebx
ret