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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov esi, esp
mov dword [esi + 0x110], ebp
mov dword [esi + 0x114], esp
mov dword [esi + 0x120], 0xffffffff
mov dword [esi + 0x11c], 0x50a120
mov edx, dword [ebp + 0xc]
lea eax, [esi + 0x118]
mov ecx, dword fs:[0]
mov dword [esi + 0x118], ecx
mov dword fs:[0], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx + 8]
mov ebx, dword [edx]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 4], ecx
cmp dword [ebx + 0x38], ecx
jbe 0x509479
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x509479
imul edi, dword [esi + 4], 0xf0
mov edx, dword [ecx + edi]
xor edx, 3
or edx, dword [ecx + edi + 4]
je 0x509479
add ecx, edi
cmp dword [ecx + 0xcc], eax
jne 0x509479
mov edx, dword [ecx + 0xd4]
mov dword [esi + 8], edi
mov edi, dword [esi + 4]
mov dword [esi + 0x7c], ebx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10c], edx
mov dword [esi + 0x10], eax
mov edi, dword [ecx]
xor edi, 3
or edi, dword [ecx + 4]
je 0x509479
cmp dword [ecx + 0xcc], eax
jne 0x509479
mov ebx, dword [ecx + 0x3c]
mov edi, eax
xor eax, eax
test ebx, ebx
cmovg eax, ebx
mov ebx, dword [esi + 4]
mov dword [esi + 0x78], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], edi
mov ebx, dword [ecx]
xor ebx, 3
or ebx, dword [ecx + 4]
je 0x509479
cmp dword [ecx + 0xcc], edi
jne 0x509479
mov eax, dword [ecx + 0x38]
xor ebx, ebx
test eax, eax
cmovg ebx, eax
mov eax, dword [esi + 4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
mov eax, dword [ecx]
xor eax, 3
or eax, dword [ecx + 4]
je 0x509479
cmp dword [ecx + 0xcc], edi
jne 0x509479
mov eax, dword [ecx + 0x3c]
sub edx, dword [esi + 0x78]
xor ecx, ecx
mov dword [esi], edi
test eax, eax
cmovg ecx, eax
sub ebx, ecx
cmp edx, ebx
cmovb ebx, edx
mov edx, dword [0x69b710]
mov dword [esi + 0x100], ebx
mov eax, dword [edx]
mov edi, dword [esi + 8]
test eax, eax
je 0x5089f2
mov ebx, dword [esi]
lea eax, [esi + 0x90]
mov dword [esi + 0x90], 2
mov dword [esi + 0xa0], 0
mov dword [esi + 0x78], eax
mov eax, dword [edx]
test eax, eax
je 0x508b13
mov eax, dword [esi + 0x100]
test eax, eax
je 0x508b48
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
jle 0x508963
cmp ecx, eax
mov dword [esi + 0x38], ecx
cmovb eax, ecx
mov dword [esi + 0xc0], eax
mov eax, dword [edx]
test eax, eax
je 0x508d6c
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
cmp dword [ecx + 0x38], eax
jbe 0x5095b1
mov eax, dword [esi + 0x7c]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x5095b1
mov ecx, dword [eax + edi]
xor ecx, 3
or ecx, dword [eax + edi + 4]
je 0x5095b1
add eax, edi
cmp dword [eax + 0xcc], ebx
mov dword [esi + 0x120], 1
jne 0x5095b1
mov ecx, dword [ebp + 8]
push dword [ecx + 0x54]
push dword [esi + 0xc0]
push eax
call fcn.00505170
mov ebx, dword [esi]
add esp, 0xc
mov ecx, dword [esi + 0x38]
mov edx, dword [0x69b710]
sub ecx, dword [esi + 0xc0]
jo 0x508960
mov eax, dword [ebp + 8]
mov dword [eax + 0x4c], ecx
mov edi, dword [esi + 8]
mov eax, dword [edx]
test eax, eax
je 0x508d37
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov edx, dword [ecx + 0x38]
cmp edx, eax
mov dword [esi], edx
jbe 0x5094c4
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x5094c4
mov edx, dword [eax + edi]
xor edx, 3
or edx, dword [eax + edi + 4]
je 0x5094c4
add edi, eax
cmp dword [edi + 0xcc], ebx
jne 0x5094c4
mov edx, dword [edi + 0x3c]
mov ecx, edi
mov edi, dword [esi + 4]
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], ebx
mov edi, dword [ecx]
xor edi, 3
or edi, dword [ecx + 4]
je 0x509562
cmp dword [ecx + 0xcc], ebx
jne 0x509562
test edx, edx
js 0x508ba6
cmp edx, dword [ecx + 0xd4]
jb 0x508ba6
mov ecx, dword [esi]
jmp 0x508c0b
movzx eax, byte [0x69ab98]
test al, al
je 0x50888a
movzx ecx, al
cmp ecx, 1
je 0x508a14
cmp ecx, 2
jne 0x509459
mov al, 2
movzx eax, al
push eax
push dword [0x69ab90]
call fcn.005313d0
mov edx, dword [0x69b710]
add esp, 8
test al, al
je 0x50888a
mov eax, dword [0x69ab90]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x50987b
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x7c]
movlps qword [esi + 0x14], xmm0
mov dword [esi + 0x1c], 0
mov dword [esi + 0xac], ecx
mov dword [esi + 0xb0], ebx
cmp dword [edx + 0x38], ecx
jbe 0x50969e
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx + 0x30]
test ecx, ecx
je 0x50969e
mov edx, dword [ecx + edi]
xor edx, 3
or edx, dword [ecx + edi + 4]
je 0x50969e
add ecx, edi
cmp dword [ecx + 0xcc], ebx
jne 0x50969e
add ecx, 0xcc
lea edx, [eax + 0x1c]
lea edi, [esi + 0x88]
mov dword [esi + 0xac], ecx
lea ecx, [esi + 0xc]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0xac]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x3c]
mov dword [esi + 0x44], 0x61f30c
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0x28], 1
mov dword [esi + 0x2c], edx
push ecx
push eax
push edi
call fcn.005310b0
add esp, 0xc
cmp dword [esi + 0x90], 2
lea eax, [esi + 0x90]
mov dword [esi + 0x78], eax
jne 0x509062
mov edi, dword [esi + 8]
mov edx, dword [0x69b710]
jmp 0x5088a9
movzx eax, byte [0x69aba4]
test al, al
je 0x5088b3
movzx ecx, al
cmp ecx, 1
je 0x508dcb
cmp ecx, 2
jne 0x508da1
mov dword [esi + 0x120], 1
mov al, 2
jmp 0x508dcb
cmp dword [esi + 0x90], 2
je 0x508d23
lea eax, [esi + 0x88]
mov dword [esi + 0x120], 0
push eax
push dword [esi + 0x78]
call fcn.00532270
add esp, 8
cmp dword [esi + 0x90], 2
je 0x508d23
mov ecx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
mov dword [esi + 0x120], 2
push ecx
push eax
push dword [esi + 0x78]
call fcn.005322a0
add esp, 0xc
jmp 0x508cf0
mov edx, dword [esi + 4]
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ebx
mov edx, dword [ecx]
xor edx, 3
or edx, dword [ecx + 4]
je 0x50964f
cmp dword [ecx + 0xcc], ebx
jne 0x50964f
mov edx, dword [ecx + 0x38]
test edx, edx
js 0x5089eb
cmp edx, dword [ecx + 0x3c]
mov ecx, dword [esi]
jle 0x508c0b
mov eax, dword [ebp + 8]
mov dword [esi + 0x120], 1
add eax, 0x14
push dword [ebp + 0xc]
push eax
call fcn.00518d90
add esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x38]
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
cmp ecx, edx
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ebx
jbe 0x509513
test eax, eax
je 0x509513
imul ecx, dword [esi + 4], 0xf0
mov edx, dword [eax + ecx]
xor edx, 3
or edx, dword [eax + ecx + 4]
je 0x509513
add eax, ecx
cmp dword [eax + 0xcc], ebx
jne 0x509513
cmp dword [eax + 0xd8], 0
je 0x508c9f
mov ecx, dword [esi + 4]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ebx
mov ecx, dword [eax]
xor ecx, 3
or ecx, dword [eax + 4]
je 0x509600
cmp dword [eax + 0xcc], ebx
jne 0x509600
cmp byte [eax + 0xe4], 0
jne 0x508c9f
cmp byte [eax + 0xe5], 0
jne 0x508c9f
mov dword [esi + 0x120], 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.005187c0
add esp, 8
cmp dword [esi + 0x90], 2
je 0x508d23
lea eax, [esi + 0x88]
mov dword [esi + 0x120], 0
push eax
push dword [esi + 0x78]
call fcn.00532270
add esp, 8
cmp dword [esi + 0x90], 2
je 0x508d23
mov ecx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
mov dword [esi + 0x120], 3
push ecx
push eax
push dword [esi + 0x78]
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0x90]
cmp eax, 2
je 0x508d23
test eax, eax
je 0x508d23
mov eax, dword [esi + 0x94]
lock dec dword [eax]
jne 0x508d23
lea eax, [esi + 0x94]
mov dword [esi + 0x120], 0xffffffff
push eax
call fcn.0042de60
add esp, 4
mov eax, dword [esi + 0x118]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [0x69abbc]
test al, al
je 0x50896d
movzx ecx, al
cmp ecx, 1
je 0x5090aa
cmp ecx, 2
jne 0x509086
mov dword [esi + 0x120], 1
mov al, 2
jmp 0x5090aa
movzx eax, byte [0x69abb0]
test al, al
je 0x5088e7
movzx ecx, al
cmp ecx, 1
je 0x509353
cmp ecx, 2
jne 0x50932f
mov dword [esi + 0x120], 1
mov al, 2
jmp 0x509353
mov dword [esi + 0x120], 1
push 0x69ab9c
call fcn.0059e2f0
mov ebx, dword [esi]
add esp, 4
mov edi, dword [esi + 8]
mov edx, dword [0x69b710]
test al, al
je 0x5088b3
mov ecx, dword [0x69ab9c]
movzx eax, al
mov dword [esi + 0x120], 1
push eax
push ecx
call fcn.005313d0
mov ebx, dword [esi]
add esp, 8
mov edi, dword [esi + 8]
mov edx, dword [0x69b710]
test al, al
je 0x5088b3
mov eax, dword [0x69ab9c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x509891
mov ebx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
cmp ecx, 1
mov dword [esi + 0x38], ebx
mov ebx, dword [eax + 0x28]
mov dword [esi + 0xc0], edx
mov dword [esi + 0x84], edx
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x80], ebx
mov ebx, dword [esi + 0x38]
mov edx, dword [esi + 0x80]
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], edx
mov dword [esi + 0xd0], 0
je 0x5098aa
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x84]
cmp ecx, 2
mov dword [esi + 0xec], eax
mov dword [esi + 0xf0], ecx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf8], edx
mov dword [esi + 0xfc], 1
jbe 0x5098c3
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], edx
mov edx, dword [esi + 4]
mov ebx, dword [esi]
mov dword [esi + 0x108], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0xbc], 2
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ebx
cmp dword [ecx + 0x38], edx
jbe 0x5096cb
mov eax, dword [esi + 0x7c]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x5096cb
mov edx, dword [eax + edi]
xor edx, 3
or edx, dword [eax + edi + 4]
je 0x5096cb
mov edx, dword [esi]
add eax, edi
cmp dword [eax + 0xcc], edx
jne 0x5096cb
mov ebx, dword [esi + 0x108]
cmp ebx, 3
jbe 0x5098dc
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x38]
mov edi, dword [esi]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], edx
mov edx, dword [esi + 0x80]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 4]
mov dword [esi + 0x34], 3
mov dword [esi + 0xe0], edx
mov dword [esi + 0xe4], edi
mov edx, dword [eax]
xor edx, 3
or edx, dword [eax + 4]
je 0x509710
cmp dword [eax + 0xcc], edi
jne 0x509710
mov edx, dword [eax + 0x38]
xor edi, edi
test edx, edx
cmovg edi, edx
cmp ebx, 4
mov dword [esi + 0xd4], edi
jbe 0x5098f5
mov ecx, dword [esi + 0x84]
add eax, 0xd8
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x18], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x1c], 4
mov ecx, dword [ecx + 0x4c]
mov dword [esi + 0xdc], ecx
lea ecx, [esi + 0xdc]
mov dword [esi + 0xd8], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x10c]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0xec]
mov dword [esi + 0x44], 0x61f32c
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x100]
mov dword [esi + 0x4c], ecx
lea ecx, [esi + 0xac]
mov dword [esi + 0x50], 0x61f32c
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x24]
mov dword [esi + 0x5c], 0x61f33c
mov ecx, dword [esi + 0x104]
mov dword [esi + 0x60], eax
lea eax, [esi + 0xd4]
mov dword [esi + 0x64], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x68], 0x61f32c
mov dword [esi + 0x6c], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0x70], eax
lea eax, [esi + 0x3c]
mov dword [esi + 0x74], 0x61f3ac
mov dword [esi + 0xe0], eax
lea eax, [ecx + 0x1c]
mov dword [esi + 0xe4], 5
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xe0]
push eax
push ecx
call fcn.00531b00
add esp, 8
mov ebx, dword [esi]
mov edi, dword [esi + 8]
mov edx, dword [0x69b710]
jmp 0x5088b3
mov dword [esi + 0x120], 0
push edi
push eax
call fcn.00532240
mov ebx, dword [esi]
add esp, 8
mov edi, dword [esi + 8]
mov edx, dword [0x69b710]
jmp 0x5088a9
mov dword [esi + 0x120], 1
push 0x69abb4
call fcn.0059e2f0
mov ebx, dword [esi]
add esp, 4
mov edi, dword [esi + 8]
test al, al
je 0x50896d
mov ecx, dword [0x69abb4]
movzx eax, al
mov dword [esi + 0x120], 1
push eax
push ecx
call fcn.005313d0
mov ebx, dword [esi]
add esp, 8
mov edi, dword [esi + 8]
test al, al
je 0x50896d
mov ecx, dword [0x69abb4]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x50990e
mov edi, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x84], ecx
mov ecx, dword [ecx + 0x28]
mov dword [esi + 0xec], eax
mov dword [esi + 0xf0], edx
mov dword [esi + 0xf4], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0xf8], ecx
mov dword [esi + 0x80], ecx
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esi + 0xfc], 0
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x7c]
cmp dword [ecx + 0x38], edi
jbe 0x509758
mov ecx, dword [ecx + 0x30]
test ecx, ecx
je 0x509758
mov ebx, dword [esi + 8]
mov edi, dword [ecx + ebx]
xor edi, 3
or edi, dword [ecx + ebx + 4]
je 0x509758
add ecx, dword [esi + 8]
mov edi, dword [esi]
cmp dword [ecx + 0xcc], edi
jne 0x509758
mov edi, dword [ecx + 0x3c]
lea ebx, [esi + 0xdc]
cmp edx, 1
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], edi
jbe 0x509924
mov edi, dword [esi + 0x38]
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], edx
mov ebx, dword [esi]
mov dword [esi + 0xb4], edi
mov edi, dword [esi + 0x80]
mov dword [esi + 0xb8], edi
mov edi, dword [esi + 4]
mov dword [esi + 0xbc], 1
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], ebx
mov edi, dword [ecx]
xor edi, 3
or edi, dword [ecx + 4]
je 0x50979d
cmp dword [ecx + 0xcc], ebx
jne 0x50979d
cmp edx, 2
jbe 0x50993a
mov edi, dword [esi + 0x38]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], edx
mov ebx, dword [esi]
mov dword [esi + 0x2c], edi
mov edi, dword [esi + 0x80]
mov dword [esi + 0x30], edi
mov edi, dword [esi + 4]
mov dword [esi + 0x34], 2
mov dword [esi + 0xc0], edi
mov dword [esi + 0xc4], ebx
mov edi, dword [ecx]
xor edi, 3
or edi, dword [ecx + 4]
je 0x5097e2
cmp dword [ecx + 0xcc], ebx
jne 0x5097e2
cmp edx, 3
jbe 0x509950
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x10], edx
mov edx, dword [esi]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x1c], 3
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], edx
mov eax, dword [ecx]
xor eax, 3
or eax, dword [ecx + 4]
je 0x50982a
cmp dword [ecx + 0xcc], edx
jne 0x50982a
mov edx, dword [ecx + 0x38]
test edx, edx
setns al
cmp edx, dword [ecx + 0x3c]
lea edx, [esi + 0xd4]
mov dword [esi + 0xe0], edx
lea edx, [esi + 0xec]
mov dword [esi + 0x3c], edx
lea edx, [esi + 0xd8]
mov dword [esi + 0x40], edx
lea edx, [esi + 0xac]
mov dword [esi + 0x44], 0x61f3ac
mov dword [esi + 0x48], edx
lea edx, [ecx + 0xd4]
lea ecx, [ecx + 0xd8]
setg ah
mov dword [esi + 0x4c], edx
lea edx, [esi + 0x24]
mov dword [esi + 0x50], 0x61f32c
and ah, al
mov dword [esi + 0x54], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0xc]
mov dword [esi + 0x5c], 0x61f33c
mov byte [esi + 0xd4], ah
lea eax, [esi + 0xc0]
mov dword [esi + 0x60], ecx
lea ecx, [esi + 0xe0]
mov dword [esi + 0x64], ecx
lea ecx, [esi + 0x3c]
mov dword [esi + 0x68], 0x61f3f0
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], 4
lea ecx, [edx + 0x1c]
mov dword [esi + 0xc8], ecx
push eax
push edx
call fcn.00531b00
mov ebx, dword [esi]
add esp, 8
mov edi, dword [esi + 8]
jmp 0x50896d
mov dword [esi + 0x120], 1
push 0x69aba8
call fcn.0059e2f0
mov ebx, dword [esi]
add esp, 4
mov edi, dword [esi + 8]
test al, al
je 0x5088e7
mov ecx, dword [0x69aba8]
movzx eax, al
mov dword [esi + 0x120], 1
push eax
push ecx
call fcn.005313d0
mov ebx, dword [esi]
add esp, 8
mov edi, dword [esi + 8]
test al, al
je 0x5088e7
mov eax, dword [0x69aba8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x509966
mov ebx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esi + 0x3c], 0x61f3d8
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x44], 0x61efa0
mov dword [esi + 0x48], 0
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb8], edi
mov dword [esi + 0xbc], 0
je 0x50997c
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0xac]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], 1
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0x3c]
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0x14], 0x61f2d4
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x1c], ecx
lea ecx, [esi + 0xc]
mov dword [esi + 0x20], 0x61f32c
mov dword [esi + 0xec], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0xf0], 2
mov dword [esi + 0xf4], ecx
lea ecx, [esi + 0xec]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ebx, dword [esi]
mov edi, dword [esi + 8]
jmp 0x5088e7
push 0x69ab90
call fcn.0059e2f0
mov edx, dword [0x69b710]
add esp, 4
test al, al
jne 0x508a14
jmp 0x50888a
lea eax, [esi + 0x10]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x88], eax
lea eax, [esi + 0x88]
mov dword [esi + 0x8c], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
ud2
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x6277a0
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x120], 1
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0xb0]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], 0x51bc80
lea eax, [esi + 0x24]
jmp 0x5094a7
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0xe4]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0x28]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0xc4]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esi + 0x10], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
lea eax, [esi + 0xe4]
mov dword [esi + 0x3c], 0x627788
mov dword [esi + 0x40], 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0xc0], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0xc4], 0x51bc80
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
lea eax, [esi + 0x3c]
push 0x627790
push eax
call fcn.005a0aa0
add esp, 8
jmp 0x509990
push 0x61f38c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
ud2
push 0x61f39c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f39c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f39c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f39c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f39c
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3e0
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3e0
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3e0
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3e0
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3bc
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
jmp 0x509990
push 0x61f3bc
push 0x22
push 0x61f280
call fcn.005a0a40
add esp, 0xc
ud2