Function at 0x4435d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x4c9ee1
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54e864]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
push 0xc
mov dword [esp + 0x20], edi
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x44383e
mov dword [eax], eax
mov dword [esp + 0x18], eax
mov dword [eax + 4], eax
mov ecx, esi
mov dword [esp + 0x38], edi
call fcn.0043e730
cmp al, 2
jne 0x44362e
call fcn.0043e9b0
mov ecx, esi
call fcn.0043e7c0
cmp al, 0xff
jne 0x443649
call fcn.0043f290
mov ecx, esi
call fcn.0043e7c0
cmp al, 0xff
je 0x4436bd
mov ecx, esi
call fcn.0043f220
mov ecx, esi
mov edx, eax
call fcn.0043e7c0
movsx eax, al
cmp eax, edx
jg 0x4436bd
call fcn.0043e730
test al, al
jne 0x443682
call fcn.0043e390
push eax
call fcn.0043e520
push eax
call fcn.0043e3f0
push eax
push str.Bonus_comunitarios:_Sorteo_ponderado__d_del_bonus__s__d.
jmp 0x44369b
call fcn.0043e390
push eax
mov ecx, esi
call fcn.0043e520
push eax
call fcn.0043e3f0
push eax
push str.Bonus_comunitarios:_Sorteo_equiprobable__d_del_bonus__s__d.
push edi
call fcn.0042a000
add esp, 0x14
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00442e80
test al, al
jne 0x4436da
lea ecx, [esp + 0x18]
call fcn.004439c0
lea ecx, [esp + 0x18]
call fcn.00443a00
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push 2
mov ecx, esi
call fcn.0043e6c0
push str.Bonus_comunitarios:_Iniciamos_el_sorteo_de_los_premios_seleccionados.
push edi
mov dword [esi + 0xdc], edi
mov dword [esi + 0xe0], edi
call fcn.0042a000
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov eax, ebp
add esp, 8
sub eax, edi
je 0x44375a
dec eax
je 0x443753
push ebp
push str.Bonus_comunitarios:__d_premios_a_sortear.
push edi
call fcn.0042a000
push ebp
push str.Bonus_comunitarios:_Orden_de_sorteo:
push edi
call fcn.0042a000
mov edi, dword [ebx]
add esp, 0x18
cmp edi, ebx
je 0x443768
nop
mov ecx, dword [edi + 8]
call fcn.004456a0
movzx edx, al
push edx
push str.Bonus_comunitarios:_____Premio__d
push 0
call fcn.0042a000
mov edi, dword [edi]
add esp, 0xc
cmp edi, ebx
jne 0x443730
jmp 0x443768
push str.Bonus_comunitarios:_1_premio_a_sortear.
jmp 0x44375f
push str.Bonus_comunitarios:_0_premios_a_sortear.
push edi
call fcn.0042a000
add esp, 8
mov eax, dword [esi + 0x8c]
mov edi, dword [eax]
cmp edi, eax
je 0x443792
mov ecx, dword [edi + 8]
push 0
call fcn.00445b60
mov ecx, dword [edi + 8]
push 0
call fcn.00445a40
mov edi, dword [edi]
cmp edi, dword [esi + 0x8c]
jne 0x443774
mov edi, dword [ebx]
cmp edi, ebx
je 0x4437ad
mov eax, dword [edi + 8]
push eax
mov ecx, esi
call fcn.00443200
test al, al
je 0x4437ce
mov edi, dword [edi]
cmp edi, ebx
jne 0x443798
mov ecx, esi
call fcn.0043f370
mov ecx, esi
call fcn.00441250
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
test ebp, ebp
jne 0x4437e5
mov ecx, esi
call fcn.00441d80
jmp 0x443821
lea ecx, [esp + 0x18]
call fcn.004439c0
push 0
mov ecx, esi
call fcn.0043e6c0
jmp 0x4436bd
call edi
mov ecx, esi
mov dword [esi + 0xe4], eax
mov dword [esi + 0xf8], 1
call fcn.0043e3d0
cmp al, 1
jne 0x443821
mov ecx, dword [esi + 0xfc]
call fcn.00443b10
test al, al
je 0x443821
mov ecx, esi
call fcn.0043e390
push eax
call fcn.004136e0
add esp, 4
lea ecx, [esp + 0x18]
call fcn.004439c0
call edi
mov ecx, esi
mov dword [esi + 0xe8], eax
call fcn.0043f500
jmp 0x4436bd
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x51e22c
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3