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

Disassembly:
push 0xffffffffffffffff
push 0x5cac40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
push ebp
mov ebp, ecx
mov ecx, dword [0x6613bc]
mov eax, dword [ebp + 0x7e0]
cmp eax, dword [ecx + 0x240]
mov dword [esp + 0x34], ebp
jge 0x45258a
mov ecx, dword [ebp + 0x7c4]
push esi
push edi
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
mov edx, dword [ebp + 0x7c4]
mov dword [esp + 0x2c], eax
mov esi, dword [edx + 0x264]
test esi, esi
je 0x451490
test eax, eax
je 0x451494
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call dword [eax + 0x70]
mov esi, dword [esi + 0x7cc]
test esi, esi
mov eax, dword [esp + 0x2c]
jne 0x451472
test eax, eax
jne 0x4514bb
mov ecx, dword [ebp + 0x7c4]
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
mov edx, dword [ebp]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
mov ecx, ebp
call dword [edx + 0x70]
mov eax, dword [esp + 0x2c]
mov edx, dword [0x6613bc]
mov ecx, dword [ebp + 0x7e0]
cmp ecx, dword [edx + 0x240]
jge 0x452548
push ebx
jmp 0x4514e0
mov eax, dword [esp + 0x30]
lea ebx, [ebx]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
mov ecx, ebp
call fcn.004501f0
test eax, eax
je 0x452543
mov eax, dword [0x6613bc]
mov eax, dword [eax + 0x244]
push 0
lea ecx, [eax + eax*2]
push 0
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call fcn.0044ac60
mov ecx, dword [ebp + 0x7c4]
mov eax, dword [ecx + 0xc4]
test eax, eax
jne 0x45154f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
lea eax, [esp + 0x40]
push eax
call fcn.00476460
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x7dc]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [0x661408]
push edx
push eax
push 0
call fcn.00475fd0
mov esi, eax
mov eax, dword [ebp + 0x7dc]
test eax, eax
je 0x451585
mov dword [eax], esi
mov dword [ebp + 0x7dc], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x18], eax
mov edx, dword [ebp + 0x7e0]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
inc edx
push ecx
mov dword [ebp + 0x7e0], edx
mov edx, dword [esp + 0x20]
mov esi, edx
add esi, ecx
mov ecx, dword [esp + 0x24]
mov edi, ecx
adc edi, eax
mov eax, dword [ebp + 0x870]
push edi
push esi
push ecx
mov ecx, dword [eax + 0x20]
push edx
push ecx
push str._ED__SendRequest__s___I64i__I64i__I64i
push 0x661308
call fcn.004e9a20
mov edx, dword [0x6613bc]
mov eax, dword [esp + 0x40]
mov esi, dword [edx + 0x244]
add esp, 0x24
test eax, eax
mov dword [esp + 0x28], esi
ja 0x451a0b
mov ecx, dword [esp + 0x18]
jb 0x451606
cmp ecx, 0xffffffff
ja 0x451a0b
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ecx, edi
adc eax, edx
mov dword [esp + 0x24], eax
jne 0x451a0b
cmp ecx, 0xffffffff
ja 0x451a0b
push 0xe3
push 0x47
call fcn.00472810
mov ebx, eax
mov eax, dword [ebp + 0x7c4]
add esp, 8
push 0x10
add eax, 0x80
push eax
mov ecx, ebx
call fcn.00406f10
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x18]
add edx, 4
cmp edx, eax
mov dword [esp + 0x20], ecx
jbe 0x4516a6
add eax, 0x80
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edi, eax
mov dword [esp + 0x38], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x45169b
push eax
call fcn.005abee6
add esp, 4
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [ebx + 0x14], ecx
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [edx + eax], ecx
mov eax, dword [ebx + 0x1c]
add eax, 4
mov dword [ebx + 0x1c], eax
mov edx, eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp eax, ecx
jb 0x4516e9
ja 0x4516d2
mov eax, dword [esp + 0x10]
cmp eax, esi
jbe 0x4516e9
mov edi, dword [esp + 0x18]
mov eax, esi
mov esi, dword [esp + 0x1c]
add eax, edi
adc ecx, esi
mov dword [esp + 0x98], ecx
jmp 0x4516f2
xor eax, eax
mov dword [esp + 0x98], eax
mov ecx, dword [ebx + 0x18]
add edx, 4
cmp edx, ecx
mov dword [esp + 0x94], eax
jbe 0x45174d
lea eax, [ecx + 0x80]
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x45173f
push eax
call fcn.005abee6
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
mov dword [ecx + edx], eax
mov ecx, dword [ebx + 0x1c]
push 0
push 2
xor eax, eax
push eax
mov eax, dword [esp + 0x34]
add ecx, 4
push eax
mov dword [ebx + 0x1c], ecx
mov edi, ecx
call fcn.0057a620
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x14]
cmp edx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jb 0x4517a8
ja 0x451790
mov edx, dword [esp + 0x10]
cmp edx, ecx
jbe 0x4517a8
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
add esi, ecx
mov ecx, eax
adc ecx, edx
mov dword [esp + 0x78], ecx
jmp 0x4517ae
xor esi, esi
mov dword [esp + 0x78], esi
mov ecx, dword [ebx + 0x18]
add edi, 4
cmp edi, ecx
mov dword [esp + 0x74], esi
jbe 0x451807
lea eax, [ecx + 0x80]
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x4517f8
push eax
call fcn.005abee6
add esp, 4
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
mov dword [ecx + edx], esi
mov edx, dword [ebx + 0x1c]
add edx, 4
mov dword [ebx + 0x1c], edx
mov edi, dword [esp + 0x14]
xor esi, esi
cmp edi, esi
jb 0x45183f
ja 0x45182f
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x28]
jbe 0x45183f
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add ecx, edi
mov edi, dword [esp + 0x1c]
jmp 0x45184d
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add ecx, esi
mov esi, dword [esp + 0x1c]
adc esi, edi
mov dword [esp + 0xa8], esi
mov esi, dword [ebx + 0x18]
lea edi, [edx + 4]
cmp edi, esi
mov dword [esp + 0xa4], ecx
jbe 0x4518b5
lea eax, [esi + 0x80]
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x4518a3
push eax
call fcn.005abee6
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov dword [edx + esi], ecx
mov esi, dword [ebx + 0x1c]
add esi, 4
mov dword [ebx + 0x1c], esi
mov edi, dword [esp + 0x14]
xor ecx, ecx
cmp edi, ecx
mov ecx, dword [esp + 0x10]
ja 0x4519b3
jb 0x4518e5
cmp ecx, dword [esp + 0x28]
jae 0x4519b3
mov eax, dword [ebx + 0x18]
lea ecx, [esi + 4]
cmp ecx, eax
jbe 0x451931
add eax, 0x80
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edi, eax
mov dword [esp + 0x24], eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x45192a
push eax
call fcn.005abee6
add esp, 4
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x14], ecx
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x14]
mov dword [edx + eax], 0
mov esi, dword [ebx + 0x1c]
add esi, 4
mov eax, esi
lea ecx, [eax + 4]
mov eax, dword [ebx + 0x18]
cmp ecx, eax
mov dword [ebx + 0x1c], esi
jbe 0x451995
add eax, 0x80
push eax
mov dword [ebx + 0x18], eax
call fcn.005abeeb
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x14]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x14]
add esp, 4
test eax, eax
je 0x45198e
push eax
call fcn.005abee6
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x14], eax
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
mov dword [ecx + edx], 0
mov eax, dword [ebx + 0x1c]
add eax, 4
push 1
mov dword [ebx + 0x1c], eax
push ebx
jmp 0x452499
cmp edi, eax
ja 0x4519de
jb 0x4519bf
cmp ecx, dword [esp + 0x38]
jae 0x4519de
mov eax, dword [esp + 0x18]
add ecx, eax
push ecx
mov ecx, ebx
call fcn.004070a0
push 0
mov ecx, ebx
call fcn.004070a0
push 1
push ebx
jmp 0x452499
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
lea eax, [ecx + edx*2]
push eax
mov ecx, ebx
call fcn.004070a0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
add edx, ecx
push edx
mov ecx, ebx
call fcn.004070a0
push 1
push ebx
jmp 0x452499
push 0xc5
push 0xa3
call fcn.00472810
mov ecx, dword [ebp + 0x7c4]
add esp, 8
add ecx, 0x80
push 0x10
push ecx
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.00406f10
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
xor ebp, ebp
push ebp
push 0x10000
push edi
mov ebx, esi
push esi
and ebx, 0xff00
call fcn.0057a620
push 0
add ebx, eax
push 0x10000
adc ebp, edx
push ebp
push ebx
call fcn.0057a620
mov ecx, esi
xor ebx, ebx
and ecx, 0xff0000
push ebx
add eax, ecx
push 0x10000
adc edx, ebx
push edx
push eax
call fcn.0057a620
mov ecx, esi
and ecx, 0xff000000
push ebx
add eax, ecx
push 0x100
adc edx, ebx
push edx
push eax
call fcn.0057a620
mov ecx, eax
mov ebx, edi
mov eax, esi
shrd eax, edi, 8
shr ebx, 8
and eax, 0xff000000
xor edi, edi
xor ebp, ebp
and ebx, 0xff00
add ebx, eax
mov eax, dword [esp + 0x1c]
adc ebp, edi
mov edi, eax
shrd esi, edi, 0x18
and esi, 0xff0000
xor edi, edi
add ebx, esi
adc ebp, edi
shr eax, 0x18
xor esi, esi
add ebx, eax
adc ebp, esi
or edx, ebp
or ecx, ebx
push edx
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.0044fc00
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
xor ebx, ebx
cmp edi, ebx
jb 0x451b22
ja 0x451b08
cmp dword [esp + 0x10], esi
jbe 0x451b22
mov eax, esi
add eax, ecx
mov dword [esp + 0xdc], eax
mov eax, ebx
adc eax, edx
mov dword [esp + 0xe0], eax
xor eax, eax
jmp 0x451b32
xor eax, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
cmp edi, ebx
jb 0x451b56
ja 0x451b3e
cmp dword [esp + 0x10], esi
jbe 0x451b56
mov ebp, esi
add ebp, ecx
mov dword [esp + 0x9c], ebp
mov ebp, ebx
adc ebp, edx
mov dword [esp + 0xa0], ebp
jmp 0x451b64
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
cmp edi, ebx
jb 0x451b80
ja 0x451b70
cmp dword [esp + 0x10], esi
jbe 0x451b80
mov ebp, esi
add ebp, ecx
mov eax, ebx
adc eax, edx
mov dword [esp + 0x24], eax
xor eax, eax
jmp 0x451b86
xor ebp, ebp
mov dword [esp + 0x24], eax
cmp edi, ebx
jb 0x451ba3
ja 0x451b92
cmp dword [esp + 0x10], esi
jbe 0x451ba3
mov eax, esi
add eax, ecx
mov edi, ebx
adc edi, edx
mov dword [esp + 0xfc], edi
jmp 0x451bae
mov dword [esp + 0xfc], 0
cmp dword [esp + 0x14], ebx
jb 0x451bd1
ja 0x451bbc
cmp dword [esp + 0x10], esi
jbe 0x451bd1
mov edi, esi
add edi, ecx
mov ecx, ebx
adc ecx, edx
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x18]
jmp 0x451bda
xor edi, edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], edi
cmp dword [esp + 0x14], ebx
jb 0x451c04
ja 0x451bef
cmp dword [esp + 0x10], esi
jbe 0x451c04
mov edi, esi
add edi, ecx
mov ecx, ebx
adc ecx, edx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x18]
jmp 0x451c0d
xor edi, edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], edi
cmp dword [esp + 0x14], ebx
jb 0x451c30
ja 0x451c22
cmp dword [esp + 0x10], esi
jbe 0x451c30
mov edi, esi
add edi, ecx
mov dword [esp + 0x44], edi
mov edi, ebx
adc edi, edx
jmp 0x451c36
xor edi, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
cmp dword [esp + 0x14], ebx
jb 0x451c50
ja 0x451c48
cmp dword [esp + 0x10], esi
jbe 0x451c50
add esi, ecx
mov edi, ebx
adc edi, edx
jmp 0x451c54
xor esi, esi
xor edi, edi
mov ecx, dword [esp + 0xfc]
push 0
push 0x10000
push ecx
push eax
call fcn.0057a620
xor ecx, ecx
push ecx
and ebp, 0xff00
add eax, ebp
push 0x10000
adc edx, ecx
push edx
push eax
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0x9c]
xor ebp, ebp
and eax, 0xff0000
push ebp
add ecx, eax
push 0x10000
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0xdc]
and eax, 0xff000000
push ebp
add ecx, eax
push 0x100
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, dword [esp + 0x48]
mov ebp, eax
mov eax, dword [esp + 0x44]
shrd eax, ecx, 0x18
mov ecx, eax
xor eax, eax
shrd esi, edi, 8
and ecx, 0xff0000
and esi, 0xff000000
xor edi, edi
add ecx, esi
adc eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb0]
shr eax, 8
and eax, 0xff00
xor esi, esi
add ecx, eax
mov eax, dword [esp + 0x20]
adc eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd0]
shr eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x20]
adc eax, esi
or edx, eax
or ebp, ecx
mov ecx, dword [esp + 0x34]
push edx
push ebp
call fcn.0044fc00
mov edx, dword [esp + 0x28]
push esi
push 2
push ebx
push edx
call fcn.0057a620
mov esi, dword [esp + 0x14]
cmp esi, edx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
jb 0x451d68
ja 0x451d5a
cmp dword [esp + 0x10], eax
jbe 0x451d68
mov ebp, eax
add ebp, edi
mov dword [esp + 0x7c], ebp
mov ebp, edx
adc ebp, ecx
jmp 0x451d6e
xor ebp, ebp
mov dword [esp + 0x7c], ebp
cmp esi, edx
mov dword [esp + 0x80], ebp
jb 0x451d92
ja 0x451d81
cmp dword [esp + 0x10], eax
jbe 0x451d92
mov ebp, eax
add ebp, edi
mov dword [esp + 0x8c], ebp
mov ebp, edx
adc ebp, ecx
jmp 0x451d9b
xor ebp, ebp
mov dword [esp + 0x8c], ebp
cmp esi, edx
mov dword [esp + 0x90], ebp
jb 0x451dc0
ja 0x451dae
cmp dword [esp + 0x10], eax
jbe 0x451dc0
mov ebp, eax
add ebp, edi
mov esi, edx
adc esi, ecx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x14]
jmp 0x451dc6
xor ebp, ebp
mov dword [esp + 0x24], ebp
cmp esi, edx
jb 0x451de4
ja 0x451dd2
cmp dword [esp + 0x10], eax
jbe 0x451de4
mov esi, eax
add esi, edi
mov dword [esp + 0x54], esi
mov esi, edx
adc esi, ecx
mov dword [esp + 0x58], esi
jmp 0x451df4
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
cmp dword [esp + 0x14], edx
jb 0x451e1f
ja 0x451e02
cmp dword [esp + 0x10], eax
jbe 0x451e1f
mov esi, eax
add esi, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov esi, edx
adc esi, ecx
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x20]
jmp 0x451e28
xor esi, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], esi
cmp dword [esp + 0x14], edx
jb 0x451e5a
ja 0x451e3d
cmp dword [esp + 0x10], eax
jbe 0x451e5a
mov esi, eax
add esi, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov esi, edx
adc esi, ecx
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x20]
jmp 0x451e63
xor esi, esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
cmp dword [esp + 0x14], edx
jb 0x451e86
ja 0x451e78
cmp dword [esp + 0x10], eax
jbe 0x451e86
mov esi, eax
add esi, edi
mov dword [esp + 0x64], esi
mov esi, edx
adc esi, ecx
jmp 0x451e8c
xor esi, esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
cmp dword [esp + 0x14], edx
jb 0x451ea8
ja 0x451e9e
cmp dword [esp + 0x10], eax
jbe 0x451ea8
mov esi, eax
add esi, edi
mov edi, edx
adc edi, ecx
jmp 0x451eac
xor esi, esi
xor edi, edi
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
push 0
push 0x10000
push eax
push ecx
call fcn.0057a620
xor ecx, ecx
push ecx
and ebp, 0xff00
add eax, ebp
push 0x10000
adc edx, ecx
push edx
push eax
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0x8c]
xor ebp, ebp
and eax, 0xff0000
push ebp
add ecx, eax
push 0x10000
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0x7c]
and eax, 0xff000000
push ebp
add ecx, eax
push 0x100
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, dword [esp + 0x68]
mov ebp, eax
mov eax, dword [esp + 0x64]
shrd eax, ecx, 0x18
mov ecx, eax
xor eax, eax
shrd esi, edi, 8
and ecx, 0xff0000
and esi, 0xff000000
xor edi, edi
add ecx, esi
adc eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
shr eax, 8
and eax, 0xff00
xor esi, esi
add ecx, eax
mov eax, dword [esp + 0x20]
adc eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb8]
shr eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x20]
adc eax, esi
or edx, eax
or ebp, ecx
mov ecx, dword [esp + 0x34]
push edx
push ebp
call fcn.0044fc00
mov edx, dword [esp + 0x14]
cmp edx, ebx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
jb 0x451fb1
ja 0x451f98
cmp edi, esi
jbe 0x451fb1
mov eax, dword [esp + 0x18]
mov ecx, esi
add ecx, eax
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ebx
adc ebp, ecx
jmp 0x451fc8
mov eax, dword [esp + 0x18]
mov ecx, eax
add ecx, edi
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
adc ebp, edx
cmp edx, ebx
mov dword [esp + 0xd8], ebp
jb 0x451fea
ja 0x451fd9
cmp edi, esi
jbe 0x451fea
mov ebp, esi
add ebp, eax
mov dword [esp + 0xc4], ebp
mov ebp, ebx
adc ebp, ecx
jmp 0x451ff9
mov ebp, eax
add ebp, edi
mov dword [esp + 0xc4], ebp
mov ebp, ecx
adc ebp, edx
cmp edx, ebx
mov dword [esp + 0xc8], ebp
jb 0x452014
ja 0x45200a
cmp edi, esi
jbe 0x452014
mov ebp, esi
add ebp, eax
mov edi, ebx
adc edi, ecx
jmp 0x45201c
mov ebp, eax
add ebp, edi
mov edi, ecx
adc edi, edx
cmp edx, ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edi
jb 0x452048
ja 0x452032
mov edi, dword [esp + 0x10]
cmp edi, esi
jbe 0x45204c
mov edi, esi
add edi, eax
mov dword [esp + 0x5c], edi
mov edi, ebx
adc edi, ecx
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x10]
jmp 0x452060
mov edi, dword [esp + 0x10]
mov esi, eax
add esi, edi
mov dword [esp + 0x5c], esi
mov esi, ecx
adc esi, edx
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x28]
cmp edx, ebx
jb 0x452082
ja 0x45206a
cmp edi, esi
jbe 0x452082
mov edi, esi
add edi, eax
mov esi, ebx
adc esi, ecx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], edi
jmp 0x4520a0
mov esi, eax
add esi, edi
mov dword [esp + 0x20], esi
mov esi, ecx
adc esi, edx
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0xbc], esi
cmp edx, ebx
jb 0x4520bc
ja 0x4520b0
mov esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x28]
jbe 0x4520bc
mov edi, dword [esp + 0x28]
add edi, eax
mov esi, ebx
adc esi, ecx
jmp 0x4520c8
mov esi, dword [esp + 0x10]
mov edi, eax
add edi, esi
mov esi, ecx
adc esi, edx
cmp edx, ebx
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe4], edi
jb 0x4520f2
ja 0x4520e6
mov esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x28]
jbe 0x4520f2
mov esi, dword [esp + 0x28]
add esi, eax
mov edi, ebx
adc edi, ecx
jmp 0x4520fe
mov edi, dword [esp + 0x10]
mov esi, eax
add esi, edi
mov edi, ecx
adc edi, edx
cmp edx, ebx
jb 0x452128
ja 0x452114
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp edx, ebp
mov ebp, dword [esp + 0x4c]
jbe 0x452128
mov edx, dword [esp + 0x28]
add edx, eax
mov eax, ebx
adc eax, ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
jmp 0x452138
add eax, dword [esp + 0x10]
adc ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push 0
push 0x10000
push eax
push ecx
call fcn.0057a620
xor ecx, ecx
push ecx
and ebp, 0xff00
add eax, ebp
push 0x10000
adc edx, ecx
push edx
push eax
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0xc4]
xor ebp, ebp
and eax, 0xff0000
push ebp
add ecx, eax
push 0x10000
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, eax
mov eax, dword [esp + 0xd4]
and eax, 0xff000000
push ebp
add ecx, eax
push 0x100
adc edx, ebp
push edx
push ecx
call fcn.0057a620
mov ecx, dword [esp + 0x70]
mov ebp, eax
mov eax, dword [esp + 0x6c]
shrd eax, ecx, 8
shrd esi, edi, 0x18
and eax, 0xff000000
xor ecx, ecx
xor edi, edi
and esi, 0xff0000
add esi, eax
mov eax, dword [esp + 0xe8]
adc edi, ecx
shr eax, 8
and eax, 0xff00
add esi, eax
mov eax, dword [esp + 0xc0]
adc edi, ecx
shr eax, 0x18
add esi, eax
adc edi, ecx
or edx, edi
or ebp, esi
mov esi, dword [esp + 0x34]
push edx
push ebp
mov ecx, esi
call fcn.0044fc00
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov ecx, dword [esp + 0x10]
ja 0x452226
jb 0x452212
cmp ecx, dword [esp + 0x28]
jae 0x452226
push 0
push 0
mov ecx, esi
call fcn.0044fc00
push 0
push 0
jmp 0x45248b
mov esi, dword [esp + 0x3c]
cmp eax, esi
ja 0x452308
jb 0x452240
mov edi, dword [esp + 0x38]
cmp ecx, edi
jae 0x45230c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add edi, ecx
push 0x100
push 0
adc esi, eax
push esi
push edi
mov dword [esp + 0x100], edi
call fcn.0057a620
mov ebx, eax
xor ebx, ebx
push ebx
push 0x100
push esi
mov ebp, edx
push edi
and ebp, 0xff0000
call fcn.0057a620
xor eax, eax
push eax
push 0x1000000
and edx, 0xff
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
push 0x1000000
xor eax, eax
push eax
and edx, 0xff00
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
add ebx, eax
adc ebp, edx
mov edx, esi
shrd edi, edx, 0x18
shr edx, 8
xor eax, eax
xor ecx, ecx
and edx, 0xff00
and edi, 0xff0000
add edi, edx
adc ecx, eax
mov eax, dword [esp + 0xf0]
mov edx, esi
shrd eax, edx, 8
and eax, 0xff000000
xor edx, edx
add edi, eax
adc ecx, edx
shr esi, 0x18
xor eax, eax
add edi, esi
mov esi, dword [esp + 0x34]
adc ecx, eax
or ebp, ecx
or ebx, edi
push ebp
push ebx
mov ecx, esi
call fcn.0044fc00
push 0
push 0
jmp 0x45248b
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add edi, edx
push 0x100
push 0
adc esi, ecx
push esi
push edi
mov dword [esp + 0x110], edi
call fcn.0057a620
mov ebx, eax
xor ebx, ebx
push ebx
push 0x100
push esi
mov ebp, edx
push edi
and ebp, 0xff0000
call fcn.0057a620
xor eax, eax
push eax
push 0x1000000
and edx, 0xff
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
push 0x1000000
xor eax, eax
push eax
and edx, 0xff00
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
add ebx, eax
adc ebp, edx
mov ecx, esi
shrd edi, ecx, 0x18
xor ecx, ecx
xor edx, edx
mov eax, esi
shr eax, 8
and eax, 0xff00
and edi, 0xff0000
add edi, eax
mov eax, dword [esp + 0x100]
adc edx, ecx
mov ecx, esi
shrd eax, ecx, 8
and eax, 0xff000000
xor ecx, ecx
add edi, eax
adc edx, ecx
mov ecx, dword [esp + 0x34]
xor eax, eax
shr esi, 0x18
add edi, esi
adc edx, eax
or ebp, edx
push ebp
or ebx, edi
push ebx
call fcn.0044fc00
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
add edi, edx
push 0x100
push 0
adc esi, ecx
push esi
push edi
mov dword [esp + 0x100], edi
call fcn.0057a620
mov ebx, eax
mov ebp, edx
xor ebx, ebx
push ebx
push 0x100
push esi
push edi
and ebp, 0xff0000
call fcn.0057a620
xor eax, eax
push eax
push 0x1000000
and edx, 0xff
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
push 0x1000000
xor eax, eax
push eax
and edx, 0xff00
push esi
add ebx, eax
push edi
adc ebp, edx
call fcn.0057a620
add ebx, eax
adc ebp, edx
mov ecx, esi
shrd edi, ecx, 0x18
mov eax, esi
shr eax, 8
and eax, 0xff00
xor ecx, ecx
xor edx, edx
and edi, 0xff0000
add edi, eax
mov eax, dword [esp + 0xf0]
adc edx, ecx
mov ecx, esi
shrd eax, ecx, 8
and eax, 0xff000000
xor ecx, ecx
add edi, eax
adc edx, ecx
shr esi, 0x18
xor eax, eax
add edi, esi
mov esi, dword [esp + 0x34]
adc edx, eax
or ebx, edi
or ebp, edx
push ebp
push ebx
mov ecx, esi
call fcn.0044fc00
mov ebp, dword [esp + 0x40]
push 1
push esi
mov ecx, dword [ebp + 0x870]
call fcn.0046aa20
lea ecx, [esp + 0xec]
push ecx
mov ecx, dword [ebp + 0x7c4]
call fcn.0045f8b0
mov dword [esp + 0x110], 0
mov ecx, dword [ebp + 0x20]
mov eax, dword [eax]
mov ebx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, eax
add edx, ecx
mov ecx, dword [esp + 0x24]
mov esi, ecx
adc esi, ebx
add edx, 0xffffffff
adc esi, 0xffffffff
push esi
push edx
push ecx
push eax
push 0x3f8b
push 3
push 0x661308
call fcn.004e72e0
add esp, 0x24
mov dword [esp + 0x110], 0xffffffff
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45252b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [0x6613bc]
mov eax, dword [ebp + 0x7e0]
cmp eax, dword [ecx + 0x240]
jl 0x4514d6
mov eax, dword [esp + 0x30]
pop ebx
test eax, eax
mov edi, eax
je 0x452576
mov eax, dword [eax + 4]
test eax, eax
je 0x45256a
mov ecx, dword [0x661408]
mov esi, dword [eax + 4]
push eax
call fcn.00476080
test esi, esi
mov eax, esi
jne 0x452555
mov ecx, dword [0x661408]
push edi
call fcn.00476080
mov eax, dword [ebp + 0x7e0]
test eax, eax
pop edi
mov dword [esp + 0x28], 0
pop esi
jle 0x4525a5
mov eax, 1
pop ebp
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
add esp, 0x104
ret
push 0xe3
push 0x56
call fcn.00472810
mov ecx, dword [ebp + 0x870]
add esp, 8
push 1
push eax
call fcn.0046aa20
mov edx, dword [ebp + 0x20]
push edx
push 0x3f8c
push 3
push 0x661308
call fcn.004e72e0
mov eax, dword [ebp]
add esp, 0x10
push 2
mov ecx, ebp
call dword [eax + 0x5c]
mov ecx, dword [esp + 0xfc]
xor eax, eax
pop ebp
mov dword fs:[0], ecx
add esp, 0x104
ret