Function at 0x402a60
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x45aa91
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push edi
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], edi
call fcn.0042ae70
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x402a9e
push 0x80004005
call fcn.00405760
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esp + 0x74]
add eax, 0x10
mov dword [ecx], eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], 1
call fcn.0042ae70
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x402ad6
push 0x80004005
call fcn.00405760
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x6c], 1
call fcn.0042ae70
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x402b08
push 0x80004005
call fcn.00405760
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
mov byte [esp + 0x6c], 2
call fcn.0042ae70
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x402b37
push 0x80004005
call fcn.00405760
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 8], eax
mov byte [esp + 0x6c], 3
movzx ecx, byte [esi + 0xb]
movzx edx, byte [esi + 0xa]
movzx eax, byte [esi + 9]
push ecx
movzx ecx, byte [esi + 8]
push edx
movzx edx, word [esi + 6]
push eax
movzx eax, byte [esi]
push ecx
push edx
mov dl, byte [esi + 4]
lea ecx, [esp + 0x2c]
push eax
push ecx
mov cx, word [esi + 2]
call fcn.004031b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x70], 4
call fcn.00405000
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402bae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esi + 0x19], 0
je 0x402c78
push 3
push 0x46413c
lea ecx, [esp + 0x14]
call fcn.00405350
cmp byte [esi + 0x18], 0
je 0x402c78
movzx ecx, byte [esi + 0x17]
movzx edx, byte [esi + 0x16]
movzx eax, byte [esi + 0x15]
push ecx
movzx ecx, byte [esi + 0x14]
push edx
movzx edx, word [esi + 0x12]
push eax
movzx eax, byte [esi + 0xc]
push ecx
push edx
mov dl, byte [esi + 0x10]
lea ecx, [esp + 0x30]
push eax
push ecx
mov cx, word [esi + 0xe]
call fcn.004031b0
push 0x46413c
push eax
lea edx, [esp + 0x20]
mov bl, 5
push edx
mov byte [esp + 0x78], bl
call fcn.00404360
add esp, 0xc
mov byte [esp + 0x6c], 6
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x14]
call fcn.004045d0
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402c53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402c78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx eax, byte [esi + 0x19]
cmp eax, 3
ja case.default.0x402c85
jmp dword [eax*4 + 0x4031a0]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push str.Una_vez:
push edx
call fcn.00404440
add esp, 0xc
mov byte [esp + 0x6c], 7
mov ecx, dword [esp + 0x74]
push eax
call fcn.00405000
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x1c]
jmp 0x4030fe
movzx eax, word [esi + 0x1c]
cmp ax, 1
jne 0x402cda
push str.todos_los_d
lea ecx, [esp + 0xc]
call fcn.00405440
jmp 0x402cf0
movzx ecx, ax
push ecx
lea edx, [esp + 0xc]
push str.cada__hu_d
push edx
call fcn.00404fe0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
push 0x464194
push ecx
call fcn.00404440
add esp, 0xc
lea edx, [esp + 0xc]
push edx
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x78], 8
call fcn.004042a0
add esp, 0xc
lea ecx, [esp + 8]
push ecx
push eax
lea edx, [esp + 0x20]
mov bl, 9
push edx
mov byte [esp + 0x78], bl
call fcn.004042a0
add esp, 0xc
mov byte [esp + 0x6c], 0xa
mov ecx, dword [esp + 0x74]
push eax
call fcn.00405000
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402d6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 8
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402d90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x24]
jmp 0x4030fe
mov al, byte [esi + 0x1c]
cmp al, 1
jne 0x402db5
push str.todas_las_semanas__en
lea ecx, [esp + 0xc]
call fcn.00405440
jmp 0x402dcb
movzx ecx, al
push ecx
lea edx, [esp + 0xc]
push str.cada__i_semanas__en
push edx
call fcn.00404fe0
add esp, 0xc
movzx eax, byte [esi + 0x1d]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00403470
mov byte [esp + 0x6c], 0xb
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x10]
call fcn.004045d0
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402e14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x38]
push str.Semanal:
push edx
call fcn.00404440
add esp, 0xc
lea ecx, [esp + 0xc]
push ecx
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x78], 0xc
call fcn.004042a0
add esp, 0xc
lea ecx, [esp + 8]
push ecx
push eax
lea edx, [esp + 0x34]
mov bl, 0xd
push edx
mov byte [esp + 0x78], bl
call fcn.004042a0
add esp, 0xc
mov byte [esp + 0x6c], 0xe
mov ecx, dword [esp + 0x74]
push eax
call fcn.00405000
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402e8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 0xc
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402eb4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x34]
jmp 0x4030fe
mov di, word [esi + 0x1c]
lea ecx, [esp + 0x40]
push ecx
call fcn.004035f0
push eax
lea edx, [esp + 0x40]
push 0x464220
push edx
mov byte [esp + 0x78], 0xf
call fcn.00404440
add esp, 0xc
push 0x464218
push eax
lea eax, [esp + 0x40]
mov bl, 0x10
push eax
mov byte [esp + 0x78], bl
call fcn.00404360
add esp, 0xc
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], 0x11
call fcn.00405000
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402f34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 0xf
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402f59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402f7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esi + 0x1e], 0
jne 0x402faf
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 0x20]
call fcn.004037d0
mov byte [esp + 0x6c], 0x12
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x10]
call fcn.004045d0
lea ecx, [esp + 0x44]
jmp 0x40304b
movzx edx, byte [esi + 0x20]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.00403ac0
push eax
lea ecx, [esp + 0x4c]
push 0x464228
push ecx
mov byte [esp + 0x78], 0x13
call fcn.00404440
add esp, 0xc
mov byte [esp + 0x6c], 0x14
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x10]
call fcn.004045d0
lea ecx, [esp + 0x48]
call fcn.004054d0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6c], 3
call fcn.004054d0
movzx edx, byte [esi + 0x21]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.00403470
push eax
lea ecx, [esp + 0x54]
push 0x464230
push ecx
mov byte [esp + 0x78], 0x15
call fcn.00404440
add esp, 0xc
mov byte [esp + 0x6c], 0x16
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x10]
call fcn.004045d0
lea ecx, [esp + 0x50]
call fcn.004054d0
lea ecx, [esp + 0x54]
mov byte [esp + 0x6c], 3
call fcn.004054d0
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x64]
push 0x464234
push eax
call fcn.00404440
add esp, 0xc
lea ecx, [esp + 0xc]
push ecx
push eax
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0x78], 0x17
call fcn.004042a0
add esp, 0xc
lea ecx, [esp + 8]
push ecx
push eax
lea edx, [esp + 0x60]
mov bl, 0x18
push edx
mov byte [esp + 0x78], bl
call fcn.004042a0
add esp, 0xc
mov byte [esp + 0x6c], 0x19
mov ecx, dword [esp + 0x74]
push eax
call fcn.00405000
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4030d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 0x17
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4030f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 3
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg case.default.0x402c85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 2
mov eax, dword [esp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40313f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 1
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403164
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403189
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
pop edi
mov dword fs:[0], ecx
pop ebx
add esp, 0x68
ret 4