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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x2d
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x1002d969
lea edx, str.mosquito
lea ecx, [esp + 0x1c]
call fcn.10032008
lea edx, [esp + 0x20]
push edx
push 0
push 5
push 0x13
push 4
call fcn.10038ec5
lea edx, [esp + 0x28]
push edx
push 0
push 5
push 1
push 4
call fcn.10038ec5
lea edx, [esp + 0x30]
push edx
push 0
push 5
push 1
push 4
call fcn.10038ec5
mov word [esp + 0x38], 7
movzx ebx, word [esp + 0x38]
mov eax, 3
cmp ebx, eax
jl 0x1002da03
movzx ebx, word [esp + 0x38]
dec ebx
push ebx
pop eax
mov word [esp + 0x3c], ax
jmp 0x1002da10
movzx ebx, word [esp + 0x38]
inc ebx
push ebx
pop eax
mov word [esp + 0x3c], ax
movzx ebx, word [esp + 0x3c]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x1002da2a
add esp, 4
jmp 0x1002e39b
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002da42
movzx eax, word [esp + 0x40]
push eax
pop eax
mov word [esp + 0x3c], ax
jmp 0x1002da59
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1002da59
movzx ebx, word [esp + 0x40]
inc ebx
push ebx
pop eax
mov word [esp + 0x3c], ax
pop eax
push 5
call fcn.1002cec2
mov ebx, eax
add ebx, 0x101
mov dword [esp + 0xc], ebx
mov word [esp + 0x40], 3
movzx ebx, word [esp + 0x40]
mov eax, 4
cmp ebx, eax
jl 0x1002da94
movzx ebx, word [esp + 0x40]
dec ebx
push ebx
pop eax
mov word [esp + 0x44], ax
jmp 0x1002daa1
movzx ebx, word [esp + 0x40]
inc ebx
push ebx
pop eax
mov word [esp + 0x44], ax
movzx ebx, word [esp + 0x44]
push ebx
mov ebx, 0xb
cmp ebx, dword [esp]
jne 0x1002dabb
add esp, 4
jmp 0x1002e39b
mov ebx, 6
cmp ebx, dword [esp]
jne 0x1002dad3
movzx eax, word [esp + 0x48]
push eax
pop eax
mov word [esp + 0x44], ax
jmp 0x1002daea
mov ebx, 2
cmp ebx, dword [esp]
jne 0x1002daea
movzx ebx, word [esp + 0x48]
inc ebx
push ebx
pop eax
mov word [esp + 0x44], ax
pop eax
push 5
call fcn.1002cec2
mov ebx, eax
inc ebx
mov dword [esp + 0x10], ebx
push 4
call fcn.1002cec2
mov ebx, eax
add ebx, 4
mov dword [esp + 0x14], ebx
mov word [esp + 0x48], 9
movzx ebx, word [esp + 0x48]
mov eax, 5
cmp ebx, eax
jl 0x1002db33
movzx ebx, word [esp + 0x48]
dec ebx
push ebx
pop eax
mov word [esp + 0x4c], ax
jmp 0x1002db40
movzx ebx, word [esp + 0x48]
inc ebx
push ebx
pop eax
mov word [esp + 0x4c], ax
movzx ebx, word [esp + 0x4c]
push ebx
mov ebx, 0xb
cmp ebx, dword [esp]
jne 0x1002db5a
add esp, 4
jmp 0x1002e39b
mov ebx, 6
cmp ebx, dword [esp]
jne 0x1002db72
movzx eax, word [esp + 0x50]
push eax
pop eax
mov word [esp + 0x4c], ax
jmp 0x1002db89
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002db89
movzx ebx, word [esp + 0x50]
inc ebx
push ebx
pop eax
mov word [esp + 0x4c], ax
pop eax
mov dword [esp + 4], 0
jmp 0x1002db94
mov ebx, dword [esp + 0x14]
dec ebx
cmp ebx, dword [esp + 4]
jl 0x1002dbcb
push 3
call fcn.1002cec2
push eax
mov ebx, dword [esp + 8]
mov ebp, dword [0x1003f40c]
movzx ebx, byte [ebp + ebx]
mov ebp, dword [esp + 0x24]
shl ebx, 2
pop eax
mov dword [ebp + ebx], eax
inc dword [esp + 4]
jno 0x1002db94
push 0x13
push dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
lea edx, [esp + 0x34]
push edx
lea edx, [esp + 0x30]
push edx
call fcn.100040ea
mov ebx, eax
and ebx, ebx
je 0x1002dd6e
push dword [esp + 0x20]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002dc1a
push dword [esp + 0x20]
call fcn.1003907b
lea edx, str.patrol
lea ecx, [esp + 0x50]
call fcn.10032008
lea edx, str.programmers
lea ecx, [esp + 0x54]
call fcn.10032008
push dword [esp + 0x28]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002dcd0
mov word [esp + 0x58], 8
movzx ebx, word [esp + 0x58]
mov eax, 3
cmp ebx, eax
jl 0x1002dc61
movzx ebx, word [esp + 0x58]
dec ebx
push ebx
pop eax
mov word [esp + 0x5c], ax
jmp 0x1002dc6e
movzx ebx, word [esp + 0x58]
inc ebx
push ebx
pop eax
mov word [esp + 0x5c], ax
movzx ebx, word [esp + 0x5c]
push ebx
mov ebx, 0x10
cmp ebx, dword [esp]
jne 0x1002dc88
add esp, 4
jmp 0x1002e39b
mov ebx, 9
cmp ebx, dword [esp]
jne 0x1002dca0
movzx eax, word [esp + 0x60]
push eax
pop eax
mov word [esp + 0x5c], ax
jmp 0x1002dcb7
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002dcb7
movzx ebx, word [esp + 0x60]
inc ebx
push ebx
pop eax
mov word [esp + 0x5c], ax
pop eax
push dword [esp + 0x28]
call fcn.1003907b
lea edx, str.rolls
lea ecx, [esp + 0x60]
call fcn.10032008
mov word [esp + 0x64], 9
movzx ebx, word [esp + 0x64]
mov eax, 1
cmp ebx, eax
jl 0x1002dcf4
movzx ebx, word [esp + 0x64]
dec ebx
push ebx
pop eax
mov word [esp + 0x68], ax
jmp 0x1002dd01
movzx ebx, word [esp + 0x64]
inc ebx
push ebx
pop eax
mov word [esp + 0x68], ax
movzx ebx, word [esp + 0x68]
push ebx
mov ebx, 0xf
cmp ebx, dword [esp]
jne 0x1002dd1b
add esp, 4
jmp 0x1002e39b
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002dd33
movzx eax, word [esp + 0x6c]
push eax
pop eax
mov word [esp + 0x68], ax
jmp 0x1002dd4a
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1002dd4a
movzx ebx, word [esp + 0x6c]
inc ebx
push ebx
pop eax
mov word [esp + 0x68], ax
pop eax
push dword [esp + 0x30]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002dd64
push dword [esp + 0x30]
call fcn.1003907b
xor eax, eax
movsx eax, al
jmp 0x1002e39b
push dword [esp + 0x20]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002dd87
push dword [esp + 0x20]
call fcn.1003907b
mov ebx, dword [esp + 0xc]
add ebx, dword [esp + 0x10]
dec ebx
mov eax, ebx
inc eax
lea edx, [esp + 0x6c]
push edx
push 0
push 5
push eax
push 4
call fcn.10038ec5
lea edx, str.legal
lea ecx, [esp + 0x74]
call fcn.10032008
mov dword [esp + 4], 0
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0xc]
add edi, dword [esp + 0x10]
cmp ebx, edi
jge 0x1002df55
push dword [esp + 0x18]
lea edx, [esp + 0x34]
push edx
lea edx, [esp + 0x30]
push edx
call fcn.1001a736
mov dword [esp], eax
mov ebx, dword [esp]
cmp ebx, 0x10
jge 0x1002de17
push dword [esp]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x70]
shl ebx, 2
pop eax
mov dword [ebp + ebx], eax
mov ebx, dword [esp + 4]
inc ebx
mov dword [esp + 4], ebx
jmp 0x1002df50
push dword [esp]
mov ebx, 0x10
cmp ebx, dword [esp]
jne 0x1002de52
mov ebx, dword [esp + 8]
dec ebx
mov ebp, dword [esp + 0x70]
shl ebx, 2
push dword [ebp + ebx]
pop eax
mov dword [esp + 4], eax
mov ebx, dword [esp + 8]
push 2
call fcn.1002cec2
add ebx, eax
add ebx, 3
mov dword [esp + 0xc], ebx
jmp 0x1002dea6
mov ebx, 0x11
cmp ebx, dword [esp]
jne 0x1002de7d
mov dword [esp + 4], 0
mov ebx, dword [esp + 8]
push 3
call fcn.1002cec2
add ebx, eax
add ebx, 3
mov dword [esp + 0xc], ebx
jmp 0x1002dea6
mov ebx, 0x12
cmp ebx, dword [esp]
jne 0x1002dea6
mov dword [esp + 4], 0
mov ebx, dword [esp + 8]
push 7
call fcn.1002cec2
add ebx, eax
add ebx, 0xb
mov dword [esp + 0xc], ebx
pop eax
mov ebx, dword [esp + 4]
cmp ebx, dword [esp + 8]
jge 0x1002decf
push dword [esp]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x70]
shl ebx, 2
pop eax
mov dword [ebp + ebx], eax
mov ebx, dword [esp + 4]
inc ebx
mov dword [esp + 4], ebx
jmp 0x1002dea7
mov word [esp + 0x78], 5
movzx ebx, word [esp + 0x78]
mov eax, 3
cmp ebx, eax
jl 0x1002def3
movzx ebx, word [esp + 0x78]
dec ebx
push ebx
pop eax
mov word [esp + 0x7c], ax
jmp 0x1002df00
movzx ebx, word [esp + 0x78]
inc ebx
push ebx
pop eax
mov word [esp + 0x7c], ax
movzx ebx, word [esp + 0x7c]
push ebx
mov ebx, 0x12
cmp ebx, dword [esp]
jne 0x1002df1a
add esp, 4
jmp 0x1002e39b
mov ebx, 7
cmp ebx, dword [esp]
jne 0x1002df35
movzx eax, word [esp + 0x80]
push eax
pop eax
mov word [esp + 0x7c], ax
jmp 0x1002df4f
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002df4f
movzx ebx, word [esp + 0x80]
inc ebx
push ebx
pop eax
mov word [esp + 0x7c], ax
pop eax
jmp 0x1002ddc4
push dword [esp + 0x28]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002e020
mov word [esp + 0x80], 2
movzx ebx, word [esp + 0x80]
mov eax, 3
cmp ebx, eax
jl 0x1002df99
movzx ebx, word [esp + 0x80]
dec ebx
push ebx
pop eax
mov word [esp + 0x84], ax
jmp 0x1002dfac
movzx ebx, word [esp + 0x80]
inc ebx
push ebx
pop eax
mov word [esp + 0x84], ax
movzx ebx, word [esp + 0x84]
push ebx
mov ebx, 0x12
cmp ebx, dword [esp]
jne 0x1002dfc9
add esp, 4
jmp 0x1002e39b
mov ebx, 6
cmp ebx, dword [esp]
jne 0x1002dfe7
movzx eax, word [esp + 0x88]
push eax
pop eax
mov word [esp + 0x84], ax
jmp 0x1002e004
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1002e004
movzx ebx, word [esp + 0x88]
inc ebx
push ebx
pop eax
mov word [esp + 0x84], ax
pop eax
push dword [esp + 0x28]
call fcn.1003907b
lea edx, str.festival
lea ecx, [esp + 0x88]
call fcn.10032008
mov word [esp + 0x8c], 2
movzx ebx, word [esp + 0x8c]
mov eax, 3
cmp ebx, eax
jl 0x1002e050
movzx ebx, word [esp + 0x8c]
dec ebx
push ebx
pop eax
mov word [esp + 0x90], ax
jmp 0x1002e063
movzx ebx, word [esp + 0x8c]
inc ebx
push ebx
pop eax
mov word [esp + 0x90], ax
movzx ebx, word [esp + 0x90]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x1002e080
add esp, 4
jmp 0x1002e39b
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002e09e
movzx eax, word [esp + 0x94]
push eax
pop eax
mov word [esp + 0x90], ax
jmp 0x1002e0bb
mov ebx, 3
cmp ebx, dword [esp]
jne 0x1002e0bb
movzx ebx, word [esp + 0x94]
inc ebx
push ebx
pop eax
mov word [esp + 0x90], ax
pop eax
push dword [esp + 0x30]
call fcn.1003906d
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1002e0d5
push dword [esp + 0x30]
call fcn.1003907b
mov word [esp + 0x94], 5
movzx ebx, word [esp + 0x94]
mov eax, 1
cmp ebx, eax
jl 0x1002e105
movzx ebx, word [esp + 0x94]
dec ebx
push ebx
pop eax
mov word [esp + 0x98], ax
jmp 0x1002e118
movzx ebx, word [esp + 0x94]
inc ebx
push ebx
pop eax
mov word [esp + 0x98], ax
movzx ebx, word [esp + 0x98]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x1002e135
add esp, 4
jmp 0x1002e39b
mov ebx, 5
cmp ebx, dword [esp]
jne 0x1002e153
movzx eax, word [esp + 0x9c]
push eax
pop eax
mov word [esp + 0x98], ax
jmp 0x1002e170
mov ebx, 3
cmp ebx, dword [esp]
jne 0x1002e170
movzx ebx, word [esp + 0x9c]
inc ebx
push ebx
pop eax
mov word [esp + 0x98], ax
pop eax
push dword [esp + 0xc]
push dword [0x1003f3b8]
push 0x1003f48c
push 0x1003f484
lea edx, [esp + 0x7c]
push edx
call fcn.100040ea
mov ebx, eax
and ebx, ebx
je 0x1002e1b1
xor eax, eax
movsx eax, al
jmp 0x1002e39b
mov word [esp + 0xa0], 2
movzx ebx, word [esp + 0xa0]
mov eax, 1
cmp ebx, eax
jl 0x1002e1e1
movzx ebx, word [esp + 0xa0]
dec ebx
push ebx
pop eax
mov word [esp + 0xa4], ax
jmp 0x1002e1f4
movzx ebx, word [esp + 0xa0]
inc ebx
push ebx
pop eax
mov word [esp + 0xa4], ax
movzx ebx, word [esp + 0xa4]
push ebx
mov ebx, 0x11
cmp ebx, dword [esp]
jne 0x1002e211
add esp, 4
jmp 0x1002e39b
mov ebx, 9
cmp ebx, dword [esp]
jne 0x1002e22f
movzx eax, word [esp + 0xa8]
push eax
pop eax
mov word [esp + 0xa4], ax
jmp 0x1002e24c
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1002e24c
movzx ebx, word [esp + 0xa8]
inc ebx
push ebx
pop eax
mov word [esp + 0xa4], ax
pop eax
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x1002e26b
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x6c]
shl ebx, 2
mov ebx, dword [ebp + ebx]
and ebx, ebx
jne 0x1002e26b
jmp 0x1002e272
mov eax, 1
jmp 0x1002e274
xor eax, eax
and eax, eax
je 0x1002e38f
mov word [esp + 0xa8], 7
movzx ebx, word [esp + 0xa8]
mov eax, 4
cmp ebx, eax
jl 0x1002e2ac
movzx ebx, word [esp + 0xa8]
dec ebx
push ebx
pop eax
mov word [esp + 0xac], ax
jmp 0x1002e2bf
movzx ebx, word [esp + 0xa8]
inc ebx
push ebx
pop eax
mov word [esp + 0xac], ax
movzx ebx, word [esp + 0xac]
push ebx
mov ebx, 0x10
cmp ebx, dword [esp]
jne 0x1002e2dc
add esp, 4
jmp 0x1002e39b
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1002e2fa
movzx eax, word [esp + 0xb0]
push eax
pop eax
mov word [esp + 0xac], ax
jmp 0x1002e317
mov ebx, 3
cmp ebx, dword [esp]
jne 0x1002e317
movzx ebx, word [esp + 0xb0]
inc ebx
push ebx
pop eax
mov word [esp + 0xac], ax
pop eax
mov dword [esp + 4], 0
jmp 0x1002e322
mov ebx, dword [esp + 0x10]
dec ebx
cmp ebx, dword [esp + 4]
jl 0x1002e352
mov ebx, dword [esp + 4]
add ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x6c]
shl ebx, 2
push dword [ebp + ebx]
mov ebx, dword [esp + 8]
shl ebx, 2
pop eax
mov dword [ebp + ebx], eax
inc dword [esp + 4]
jno 0x1002e322
push dword [esp + 0x10]
push dword [0x1003f378]
push 0x1003f49c
push 0x1003f494
lea edx, [esp + 0x7c]
push edx
call fcn.100040ea
mov ebx, eax
and ebx, ebx
je 0x1002e38f
xor eax, eax
movsx eax, al
jmp 0x1002e39b
mov eax, 1
movsx eax, al
jmp 0x1002e39b
push dword [esp + 0x50]
call fcn.100397f0
push dword [esp + 0x74]
call fcn.100397f0
push dword [esp + 0x54]
call fcn.100397f0
push dword [esp + 0x60]
call fcn.100397f0
push dword [esp + 0xb0]
call fcn.100397f0
push dword [esp + 0x88]
call fcn.100397f0
push dword [esp + 0x9c]
call fcn.100397f0
push dword [esp + 0x1c]
call fcn.100397f0
push eax
push dword [esp + 0x24]
call fcn.10039080
push dword [esp + 0x2c]
call fcn.10039080
push dword [esp + 0x34]
call fcn.10039080
push dword [esp + 0x70]
call fcn.10039080
pop eax
add esp, 0xb4
pop edi
pop ebx
pop ebp
ret