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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x114
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
mov edx, 0x79cb9eab
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], ecx
mov eax, dword [0x4a9c88]
inc eax
mov dword [0x4a9c88], eax
mov ecx, dword [0x499ea8]
sub ecx, eax
mov dword [0x499ea8], ecx
mov eax, dword [0x4a130c]
sar eax, 1
imul eax, eax, 0xfd383e74
add eax, 0xb59d331
mov ecx, dword [0x49d36c]
xor ecx, eax
mov dword [0x49d36c], ecx
mov eax, dword [0x4a5958]
shr eax, 9
mov ecx, 0xd05ce22
sub ecx, eax
or ecx, 0x96f0
mov si, word [0x49386e]
mov ax, si
sub eax, ecx
mov si, ax
mov word [0x49386e], si
mov si, word [0x496ea2]
mov ax, si
inc eax
mov di, ax
mov word [0x496ea2], di
movsx eax, si
or eax, 0x795c76b4
or eax, 0x466ab735
cmp edx, eax
jl 0x4457e7
mov eax, dword [0x4a1d30]
add eax, 0x9cbb0034
mov dword [0x4a1d30], eax
mov eax, 0x27de2abf
mov dword [esp + 0xe4], 0
mov ecx, dword [0x49c5f0]
mov dx, word [0x494014]
movsx esi, dx
shl esi, 5
imul esi, esi, 0x9d8a20ad
sub ecx, esi
cmp eax, ecx
jne 0x445837
mov ax, word [0x498ae2]
mov cx, ax
xor ecx, 0xb410
mov ax, cx
mov word [0x498ae2], ax
jmp 0x44584f
mov ax, word [0x497522]
mov cx, ax
add ecx, 0x7ebf7c62
mov ax, cx
mov word [0x497522], ax
mov eax, dword [esp + 0x10c]
mov ecx, eax
call fcn.0043c9e0
cmp eax, 0xb
jbe 0x445ad6
mov ax, word [0x492906]
mov cx, ax
add ecx, 0xb002209
mov ax, cx
mov word [0x492906], ax
lea ecx, [esp + 0xd0]
call fcn.0042cad0
mov dword [0x4a46bc], 0x3bdffadf
mov ecx, dword [0x49b6a0]
sar ecx, 4
imul ecx, ecx, 0x4aeb6867
or ecx, 0x235eefd
cmp ecx, 0x248d050d
mov dword [esp + 0x64], eax
jne 0x4458f7
mov eax, dword [0x49ddf0]
add eax, 0x75919565
mov cx, word [0x4940ea]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4940ea], cx
movsx edx, cx
cmp eax, edx
jge 0x4458f2
mov eax, dword [0x4ab9b0]
or eax, 0xfdb61810
mov dword [0x4ab9b0], eax
jmp 0x4458f7
mov eax, 0xfb58e6c6
mov ecx, dword [esp + 0x10c]
mov edx, esp
lea esi, [esp + 0xb8]
mov dword [edx], esi
mov dword [edx + 8], 0xb
mov dword [edx + 4], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], esi
call fcn.00447940
sub esp, 0xc
mov eax, esp
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
lea eax, [esp + 0xd0]
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.00406fe0
sub esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
call fcn.004442c0
mov eax, dword [0x49e3a4]
imul eax, eax, 0x8e9d7a6d
mov dword [0x49e3a4], eax
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x3516
call fcn.004033e0
mov dword [esp + 0x104], eax
mov di, word [0x4976f8]
mov ax, di
imul eax, eax, 0x7cf22fea
mov di, ax
mov word [0x4976f8], di
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
call fcn.0043a830
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00454190
test eax, eax
sete bl
movzx eax, bl
mov dword [esp + 0xcc], eax
mov eax, dword [0x4ab948]
mov ecx, eax
inc ecx
mov dword [0x4ab948], ecx
add eax, 0x91f86b22
or eax, 0x24f08493
mov di, word [0x4915d0]
movsx ecx, di
mov edx, dword [esp + 0x60]
sub edx, ecx
cmp eax, edx
jne 0x445a0d
mov eax, dword [0x4a44b4]
and eax, 0xd9a45e1c
mov dword [0x4a44b4], eax
mov eax, dword [esp + 0x104]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0043ade0
mov eax, dword [0x4a0cc8]
dec eax
mov dword [0x4a0cc8], eax
imul eax, eax, 0x1e0c53f1
mov ecx, dword [0x4a0d18]
add ecx, eax
mov dword [0x4a0d18], ecx
cmp dword [esp + 0xcc], 0
je 0x445a9f
mov eax, dword [0x4a7214]
shr eax, 8
imul eax, eax, 0x1294670a
add eax, 0x28ebb0da
mov cx, word [0x498708]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x498708], cx
mov ecx, dword [esp + 0x10c]
call fcn.0043c9e0
add eax, 0xfffffff5
mov dword [esp + 0xe4], eax
mov eax, dword [0x49ca88]
or eax, 0x1f061f76
mov dword [0x49ca88], eax
mov ax, word [0x4944ea]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4944ea], dx
movsx ecx, ax
add ecx, 0xe9e6e3d8
mov esi, dword [0x4a50e8]
xor esi, ecx
mov dword [0x4a50e8], esi
lea ecx, [esp + 0xd0]
call fcn.0041e6c0
mov eax, 0xed41e2d7
mov ecx, dword [0x49c9f4]
add ecx, 0xe068b21c
mov dword [0x49c9f4], ecx
mov ecx, dword [esp + 0x108]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x4c], eax
call fcn.0041c870
sub esp, 4
mov ecx, dword [0x4acbd8]
xor ecx, 0x8f3152a0
mov dword [0x4acbd8], ecx
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x5a81
mov dword [esp + 0x48], eax
call fcn.004033e0
mov dword [esp + 0x100], eax
mov eax, dword [0x4a9530]
inc eax
mov dword [0x4a9530], eax
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jle 0x445b62
mov dword [0x49a744], 0x523ce90a
jmp 0x445b75
mov eax, dword [0x4a1534]
mov ecx, dword [0x4acd9c]
or ecx, eax
mov dword [0x4acd9c], ecx
mov eax, 0x41a9f982
mov ecx, esp
mov dword [ecx + 4], 8
mov dword [ecx], 0x5674
mov dword [esp + 0x44], eax
call fcn.004033e0
mov dword [esp + 0xfc], eax
mov eax, dword [0x4a31c8]
and eax, 0x97066d41
mov ecx, dword [esp + 0x44]
cmp ecx, eax
je 0x445be1
mov eax, 0x6008e00
mov ecx, dword [0x4a376c]
sar ecx, 4
cmp eax, ecx
jg 0x445bdc
mov ax, word [0x4928a8]
movsx ecx, ax
mov edx, dword [0x49a5b0]
xor edx, ecx
mov dword [0x49a5b0], edx
jmp 0x445be1
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x3b0a
call fcn.004033e0
mov dword [esp + 0xf8], eax
mov dword [0x4a85d8], 0xf36090b4
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00458100
cmp eax, 0
jne 0x445cc1
mov eax, dword [0x49dea8]
mov ecx, eax
dec ecx
mov dword [0x49dea8], ecx
xor eax, 0xa6fbc9a
cmp eax, 0xb5abc5b3
jne 0x445c59
mov eax, dword [0x4a1b54]
shl eax, 7
add eax, 0xedfadbef
mov dword [0x4a2778], eax
mov eax, dword [esp + 0xfc]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x90]
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.0041c870
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx], edx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x3c], eax
call fcn.0044e710
sub esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], eax
call fcn.0041e6c0
mov eax, dword [0x49c78c]
inc eax
mov dword [0x49c78c], eax
imul eax, eax, 0x84f9f040
or eax, 0x8c829011
mov dword [0x4aa154], eax
jmp 0x445d2e
mov eax, dword [0x4a421c]
add eax, 0xc067b024
mov dword [0x4a421c], eax
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x7c]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.0041c870
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x34]
mov dword [ecx], edx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x30], eax
call fcn.0044e710
sub esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
call fcn.0041e6c0
mov si, word [0x49558a]
mov ax, si
add eax, 0x9c4db991
mov si, ax
mov word [0x49558a], si
mov eax, 0x611fcf9a
mov ecx, dword [0x49f32c]
xor ecx, 0xfc86690e
cmp eax, ecx
jle 0x445d87
mov eax, 0x4b461bad
mov ecx, dword [0x4ab6e8]
dec ecx
mov dword [0x4ab6e8], ecx
mov edx, dword [0x4a9954]
not edx
mov esi, dword [0x4a15c8]
and edx, esi
xor ecx, edx
cmp eax, ecx
jne 0x445d82
mov eax, dword [0x4999e4]
xor eax, 0xc865ac3f
mov dword [0x4999e4], eax
jmp 0x445d87
mov eax, dword [esp + 0x100]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 2
call fcn.0043ade0
mov dx, word [0x495332]
movsx eax, dx
mov ecx, 0x7f3913a0
sub ecx, eax
mov eax, dword [0x4a13b8]
sub eax, ecx
mov dword [0x4a13b8], eax
mov eax, dword [esp + 0xfc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0043ade0
mov eax, dword [0x4a3210]
or eax, 0x310388
mov dword [0x4a3210], eax
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0043ade0
mov eax, dword [0x499c58]
xor eax, 0x16a3646e
mov dword [0x499c58], eax
lea ecx, [esp + 0xa4]
call fcn.0043c9e0
mov ecx, dword [esp + 0xe4]
lea eax, [eax + ecx + 0xd]
mov dword [esp + 0xf0], eax
mov eax, dword [0x4ad69c]
add eax, 0x204a339a
mov dword [0x4ad69c], eax
mov eax, dword [esp + 0xf0]
add eax, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.00450df9
mov dword [esp + 0xf4], eax
mov eax, dword [0x4a5f54]
shl eax, 6
and eax, 0x870c400
mov ecx, dword [0x4a4bb4]
xor ecx, eax
mov dword [0x4a4bb4], ecx
cmp dword [esp + 0xf4], 0
jne 0x445eac
mov ax, word [0x490d88]
movsx ecx, ax
and ecx, 0x8f88130e
mov edx, dword [0x49a18c]
xor edx, ecx
mov dword [0x49a18c], edx
mov dword [esp + 0x110], 0
mov dword [esp + 0x78], 1
jmp 0x4464db
mov eax, dword [0x49a768]
mov ecx, eax
dec ecx
mov dword [0x49a768], ecx
mov ecx, 0x4ff8c57b
sub ecx, eax
mov eax, dword [0x49a9d0]
add eax, ecx
mov dword [0x49a9d0], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [ecx], eax
mov eax, dword [0x49a878]
mov ecx, eax
inc ecx
mov dword [0x49a878], ecx
mov dx, word [0x49479c]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49479c], si
movsx ecx, dx
or eax, ecx
mov ecx, dword [0x4a11d4]
and ecx, eax
mov dword [0x4a11d4], ecx
mov eax, dword [esp + 0xf4]
mov dword [eax + 4], 0
mov eax, dword [0x4a427c]
or eax, 0x1cb60613
mov dword [0x4a427c], eax
lea eax, [esp + 0xa4]
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.0043c9e0
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 8], eax
mov eax, dword [0x4a4984]
and eax, 0x7a1165fd
mov ecx, dword [0x49b748]
add ecx, eax
mov dword [0x49b748], ecx
mov eax, dword [esp + 0xf4]
mov byte [eax + 0xc], 2
mov eax, dword [0x49cc28]
mov ecx, dword [0x4a52d8]
imul ecx, ecx, 0xed2377bf
add eax, ecx
mov ecx, dword [0x4a4e18]
imul ecx, eax
mov dword [0x4a4e18], ecx
mov eax, dword [esp + 0xf4]
add eax, 0xd
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
call fcn.00444360
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
call fcn.0043c9e0
mov ecx, esp
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
mov edi, dword [esp + 0x24]
mov dword [ecx], edi
call fcn.004500f0
mov eax, dword [0x49f954]
xor eax, 0x3f41f48f
mov dword [0x49f954], eax
cmp dword [esp + 0xe4], 0
je 0x4460d6
mov ax, word [0x491152]
movsx ecx, ax
imul ecx, ecx, 0x883efcda
cmp ecx, 0x35608c49
jle 0x44603a
mov ax, word [0x497b6c]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x497b6c], dx
movsx ecx, ax
imul ecx, ecx, 0xc5262907
or ecx, 0x651d1010
mov esi, dword [0x49f200]
add esi, ecx
mov dword [0x49f200], esi
jmp 0x446078
mov eax, 0xe71b4a76
mov ecx, dword [0x4a7304]
not ecx
mov edx, dword [0x4a7010]
inc edx
mov dword [0x4a7010], edx
sub ecx, edx
xor ecx, 0x3d95e776
cmp eax, ecx
jg 0x446073
mov eax, dword [0x499e40]
or eax, 0x572a97e0
mov dword [0x499e40], eax
jmp 0x446078
lea ecx, [esp + 0xa4]
call fcn.0043c9e0
mov ecx, dword [esp + 0xf4]
lea eax, [eax + ecx + 0xd]
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x1c], eax
call fcn.00444360
add eax, 0xb
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [edx], eax
call fcn.004500f0
mov si, word [0x49334e]
mov ax, si
imul eax, eax, 0x7ff9b32e
mov si, ax
mov word [0x49334e], si
mov eax, 0x8d76e035
mov ecx, dword [0x4a409c]
and ecx, 0xb7857eb4
mov dword [0x4a409c], ecx
mov dword [esp + 0xe8], 0
mov ecx, dword [0x4aaa68]
mov edx, ecx
dec edx
mov dword [0x4aaa68], edx
cmp eax, ecx
jge 0x44611e
mov dword [0x4a7a5c], 0xa4c158a7
jmp 0x44613b
mov eax, dword [0x4a641c]
add eax, 0x2b730cac
or eax, 0x1f10f259
mov ecx, dword [0x49ade4]
xor ecx, eax
mov dword [0x49ade4], ecx
cmp dword [0x4ada74], 0
je 0x4464a7
mov word [0x490428], 0x2e20
mov ecx, dword [esp + 0x10c]
call fcn.00449840
mov ecx, dword [0x4a65c0]
add ecx, 0x380b0161
mov dword [0x4a65c0], ecx
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
call fcn.0043aa60
sub esp, 8
mov ecx, dword [0x4a38a4]
or ecx, 0x29db545
mov dword [0x4a38a4], ecx
mov ecx, dword [0x4a0f68]
and ecx, 0xea96
mov di, word [0x49154e]
mov dx, di
xor edx, ecx
mov di, dx
mov word [0x49154e], di
mov ecx, dword [0x4ada74]
mov edx, esp
lea esi, [esp + 0x68]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x18], eax
call fcn.00401c50
sub esp, 8
cmp eax, 0
jle 0x446498
mov dword [0x4aa64c], 0x8d669ca9
mov ecx, dword [0x4ada74]
mov eax, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x68]
mov dword [edx], eax
mov dword [edx + 0xc], 0
mov dword [edx + 8], 2
call fcn.004038b0
sub esp, 0x10
mov dword [esp + 0xe8], eax
mov eax, dword [0x49e610]
and eax, 0x43088928
or eax, 0x9c8650d6
mov ecx, dword [0x4abd80]
xor ecx, eax
mov dword [0x4abd80], ecx
cmp dword [esp + 0xe8], 0
jg 0x446427
mov eax, dword [0x4a9ba0]
imul eax, eax, 0x45d00043
mov dword [0x4a9ba0], eax
mov ecx, dword [0x4ada74]
mov eax, esp
lea edx, [esp + 0x68]
mov dword [eax], edx
mov dword [eax + 4], 1
call fcn.00401c50
sub esp, 8
cmp eax, 0
jle 0x446406
mov ax, word [0x496476]
movsx ecx, ax
shl ecx, 5
mov edx, dword [0x4aaa4c]
shl edx, 1
and edx, 0x43dfd423
cmp ecx, edx
je 0x4462d6
mov ax, word [0x493360]
movsx ecx, ax
imul ecx, ecx, 0xe01f6d8c
mov edx, dword [0x4a31f0]
add edx, ecx
mov dword [0x4a31f0], edx
jmp 0x446300
mov eax, dword [0x4a9090]
mov ecx, eax
dec ecx
mov dword [0x4a9090], ecx
add eax, 0xab416c34
mov dx, word [0x4972fa]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4972fa], dx
mov eax, 0x2ad4160a
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x14], eax
call fcn.00449840
mov dx, word [0x491892]
mov ax, dx
inc eax
mov si, ax
mov word [0x491892], si
movsx eax, dx
mov ecx, dword [0x4a0bc4]
add eax, ecx
mov dword [0x499f90], eax
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
mov ebx, esp
mov dword [ebx + 4], eax
mov dword [ebx], edi
call fcn.0043aa60
sub esp, 8
mov dx, word [0x495fac]
mov cx, dx
dec ecx
mov si, cx
mov word [0x495fac], si
movsx ecx, dx
mov edi, dword [0x4aaea8]
mov ebx, edi
dec ebx
mov dword [0x4aaea8], ebx
mov ebx, dword [0x49a288]
sub edi, ebx
and ecx, edi
mov edi, dword [esp + 0x14]
cmp edi, ecx
mov dword [esp + 0x10], eax
jg 0x4463b3
mov eax, dword [0x4a303c]
xor eax, 0x6cd2b36c
mov dword [0x49e620], eax
jmp 0x4463c2
mov eax, dword [0x49d8f8]
xor eax, 0x912e5fa8
mov dword [0x49d8f8], eax
mov ecx, dword [0x4ada74]
mov eax, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x68]
mov dword [edx], eax
mov dword [edx + 0xc], 0
mov dword [edx + 8], 2
call fcn.004038b0
sub esp, 0x10
mov dword [esp + 0xe8], eax
mov eax, dword [0x4a3c8c]
mov si, ax
mov word [0x49128e], si
mov eax, dword [0x49addc]
mov ecx, eax
inc ecx
mov dword [0x49addc], ecx
mov ecx, 0xe5c51431
sub ecx, eax
mov eax, dword [0x4a526c]
sub eax, ecx
mov dword [0x4a526c], eax
mov eax, dword [0x4ac6a4]
mov ecx, dword [0x4ac060]
and eax, ecx
and eax, 0x8ef77618
mov dword [0x4ac060], eax
cmp dword [esp + 0xe8], 0
jg 0x446480
mov eax, dword [0x49ba28]
or eax, 0xc6d0100
mov dword [0x49ba28], eax
mov ecx, dword [esp + 0x10c]
call fcn.00449840
mov dx, word [0x49051c]
mov ax, dx
or eax, 0x29fb
mov dx, ax
mov word [0x49051c], dx
mov ax, word [0x498b2a]
mov cx, ax
imul ecx, ecx, 0x1cc63942
mov ax, cx
mov word [0x498b2a], ax
mov eax, dword [0x49de60]
add eax, 0x432dcae1
mov dword [0x49de60], eax
mov eax, dword [0x4a371c]
or eax, 0x1e8edae1
and eax, 0x3fdfdfef
mov ecx, dword [0x49b05c]
imul ecx, eax
mov dword [0x49b05c], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x110], eax
mov dword [esp + 0x78], 1
lea ecx, [esp + 0xa4]
call fcn.0041e6c0
mov eax, dword [esp + 0x110]
add esp, 0x114
pop esi
pop edi
pop ebx
ret