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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x29
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x10030c84
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp]
mov ebx, dword [edx]
and ebx, ebx
jne 0x10030d2d
mov word [esp + 0x24], 6
movzx ebx, word [esp + 0x24]
mov eax, 3
cmp ebx, eax
jl 0x10030ccc
movzx ebx, word [esp + 0x24]
dec ebx
push ebx
pop eax
mov word [esp + 0x28], ax
jmp 0x10030cd9
movzx ebx, word [esp + 0x24]
inc ebx
push ebx
pop eax
mov word [esp + 0x28], ax
movzx ebx, word [esp + 0x28]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x10030cf3
add esp, 4
jmp 0x100317fb
mov ebx, 7
cmp ebx, dword [esp]
jne 0x10030d0b
movzx eax, word [esp + 0x2c]
push eax
pop eax
mov word [esp + 0x28], ax
jmp 0x10030d22
mov ebx, 2
cmp ebx, dword [esp]
jne 0x10030d22
movzx ebx, word [esp + 0x2c]
inc ebx
push ebx
pop eax
mov word [esp + 0x28], ax
pop eax
xor eax, eax
movsx eax, al
jmp 0x100317fb
lea edx, str.laptop
lea ecx, [esp + 0x2c]
call fcn.10032008
mov edx, dword [esp]
push dword [edx]
call fcn.100332ae
mov dword [esp + 0x20], eax
mov word [esp + 0x30], 9
movzx ebx, word [esp + 0x30]
mov eax, 1
cmp ebx, eax
jl 0x10030d6e
movzx ebx, word [esp + 0x30]
dec ebx
push ebx
pop eax
mov word [esp + 0x34], ax
jmp 0x10030d7b
movzx ebx, word [esp + 0x30]
inc ebx
push ebx
pop eax
mov word [esp + 0x34], ax
movzx ebx, word [esp + 0x34]
push ebx
mov ebx, 0x10
cmp ebx, dword [esp]
jne 0x10030d95
add esp, 4
jmp 0x100317fb
mov ebx, 5
cmp ebx, dword [esp]
jne 0x10030dad
movzx eax, word [esp + 0x38]
push eax
pop eax
mov word [esp + 0x34], ax
jmp 0x10030dc4
mov ebx, 5
cmp ebx, dword [esp]
jne 0x10030dc4
movzx ebx, word [esp + 0x38]
inc ebx
push ebx
pop eax
mov word [esp + 0x34], ax
pop eax
mov ebx, dword [esp + 0x20]
cmp ebx, 1
jle 0x10030ddb
mov ebx, dword [esp + 0xb8]
and ebx, ebx
je 0x10030ddb
jmp 0x10030de2
mov eax, 1
jmp 0x10030de4
xor eax, eax
and eax, eax
je 0x10030e10
lea edx, str.nerve
lea ecx, [esp + 0x38]
call fcn.10032008
xor eax, eax
movsx eax, al
jmp 0x100317fb
mov ebp, dword [esp + 0xb8]
mov dword [ebp], 0
mov dword [0x10039254], 0
mov byte [0x100392ec], 0
mov dword [0x10039238], 0
lea edx, str.iron
lea ecx, [esp + 0x40]
call fcn.10032008
mov word [esp + 0x44], 2
movzx ebx, word [esp + 0x44]
mov eax, 4
cmp ebx, eax
jl 0x10030e6c
movzx ebx, word [esp + 0x44]
dec ebx
push ebx
pop eax
mov word [esp + 0x48], ax
jmp 0x10030e79
movzx ebx, word [esp + 0x44]
inc ebx
push ebx
pop eax
mov word [esp + 0x48], ax
movzx ebx, word [esp + 0x48]
push ebx
mov ebx, 0x10
cmp ebx, dword [esp]
jne 0x10030e93
add esp, 4
jmp 0x100317fb
mov ebx, 5
cmp ebx, dword [esp]
jne 0x10030eab
movzx eax, word [esp + 0x4c]
push eax
pop eax
mov word [esp + 0x48], ax
jmp 0x10030ec2
mov ebx, 4
cmp ebx, dword [esp]
jne 0x10030ec2
movzx ebx, word [esp + 0x4c]
inc ebx
push ebx
pop eax
mov word [esp + 0x48], ax
pop eax
lea edx, [esp + 0x4c]
push edx
push 0
push 0x18
push 0x8000
push 1
call fcn.10033106
lea edx, str.smoke
lea ecx, [esp + 0x54]
call fcn.10032008
mov eax, dword [esp + 0x20]
inc eax
push 0x10039388
push 0
push 0x18
push eax
push 1
call fcn.10033106
push dword [0x10039388]
mov edx, dword [esp + 4]
push dword [edx]
call fcn.100333ca
lea edx, str.inches
lea ecx, [esp + 0x58]
call fcn.10032008
push 1
call fcn.1002d4dd
mov dword [esp + 0x14], eax
push 2
call fcn.1002d4dd
push eax
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x100310c5
push dword [esp + 0x50]
call fcn.100332ae
mov ebx, eax
mov ebp, dword [esp + 0xbc]
mov edi, dword [ebp]
add edi, 0xfffe
cmp ebx, edi
jge 0x10030f90
mov ebp, dword [esp + 0xbc]
mov ebx, dword [ebp]
add ebx, 0xfffe
mov eax, ebx
inc eax
lea edx, [esp + 0x50]
push edx
push eax
call fcn.100333dc
movzx ebx, byte [0x100392ec]
mov eax, 8
cmp ebx, eax
jl 0x10030fc0
movzx ebx, byte [0x100392ec]
add ebx, 0xfffffff8
push ebx
pop eax
mov byte [0x100392ec], al
mov ebx, dword [0x10039254]
dec ebx
mov dword [0x10039254], ebx
jmp 0x10030f90
mov dword [0x10039238], 0
mov byte [0x100392ec], 0
mov ebx, dword [0x10039254]
mov ebp, dword [0x10039388]
movzx ebx, byte [ebp + ebx]
mov edi, dword [0x10039254]
inc edi
movzx edi, byte [ebp + edi]
shl edi, 8
add ebx, edi
mov dword [esp + 0x10], ebx
mov ebx, dword [0x10039254]
add ebx, 2
mov dword [0x10039254], ebx
mov ebx, dword [0x10039254]
movzx ebx, byte [ebp + ebx]
mov edi, dword [0x10039254]
inc edi
movzx edi, byte [ebp + edi]
shl edi, 8
add ebx, edi
mov dword [esp + 0xc], ebx
mov ebx, dword [0x10039254]
add ebx, 2
mov dword [0x10039254], ebx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
not edi
and edi, 0xffff
sub ebx, edi
and ebx, ebx
je 0x10031058
mov byte [esp + 0x20], 1
add esp, 4
jmp 0x10031343
mov dword [esp + 0x14], 1
jmp 0x10031062
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
jl 0x100310bb
mov ebx, dword [0x10039254]
mov ebp, dword [0x10039388]
movzx eax, byte [ebp + ebx]
push eax
mov ebp, dword [esp + 0xc0]
mov ebx, dword [ebp]
mov ebp, dword [esp + 0x54]
pop eax
mov byte [ebp + ebx], al
mov ebp, dword [esp + 0xbc]
mov ebx, dword [ebp]
inc ebx
push ebx
mov ebp, dword [esp + 0xc0]
pop eax
mov dword [ebp], eax
mov ebx, dword [0x10039254]
inc ebx
mov dword [0x10039254], ebx
inc dword [esp + 0x14]
jno 0x10031062
mov byte [esp + 0x1c], 0
jmp 0x10031180
mov ebx, 1
cmp ebx, dword [esp]
jne 0x1003113a
push 0x120
push dword [0x1003929c]
push 0x10039370
push 0x10039368
push 0x10039318
call fcn.10003d7f
mov ebx, eax
and ebx, ebx
je 0x10031101
mov byte [esp + 0x20], 1
add esp, 4
jmp 0x10031343
push 0x20
push dword [0x1003925c]
push 0x10039380
push 0x10039378
push 0x10039320
call fcn.10003d7f
mov ebx, eax
and ebx, ebx
je 0x10031133
mov byte [esp + 0x20], 1
add esp, 4
jmp 0x10031343
mov byte [esp + 0x1c], 1
jmp 0x10031180
mov ebx, 2
cmp ebx, dword [esp]
jne 0x10031164
call fcn.1002df26
mov ebx, eax
cmp ebx, 1
je 0x1003115d
mov byte [esp + 0x20], 1
add esp, 4
jmp 0x10031343
mov byte [esp + 0x1c], 1
jmp 0x10031180
mov ebx, 3
cmp ebx, dword [esp]
jne 0x10031180
mov byte [esp + 0x20], 1
add esp, 4
jmp 0x10031343
pop eax
movsx ebx, byte [esp + 0x18]
cmp ebx, 1
jne 0x1003132a
push dword [esp + 0x4c]
call fcn.100332ae
mov ebx, eax
mov ebp, dword [esp + 0xb8]
mov edi, dword [ebp]
add edi, 0x101
cmp ebx, edi
jge 0x100311cc
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp]
add ebx, 0x10000
mov eax, ebx
inc eax
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.100333dc
push dword [0x1003929c]
push 0x10039370
push 0x10039368
call fcn.1001b254
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
cmp ebx, 0x100
jge 0x10031224
push dword [esp + 4]
mov ebp, dword [esp + 0xbc]
mov ebx, dword [ebp]
mov ebp, dword [esp + 0x50]
pop eax
mov byte [ebp + ebx], al
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp]
inc ebx
push ebx
mov ebp, dword [esp + 0xbc]
pop eax
mov dword [ebp], eax
jmp 0x10031325
mov ebx, dword [esp + 4]
cmp ebx, 0x100
jne 0x1003123a
jmp 0x1003132a
mov ebx, dword [esp + 4]
cmp ebx, 0x100
jle 0x10031325
mov ebx, dword [esp + 4]
add ebx, 0xfffffeff
mov dword [esp + 4], ebx
mov ebx, dword [esp + 4]
mov ebp, dword [0x100392f8]
add ebx, ebx
movsx ebx, word [ebp + ebx]
mov edi, dword [esp + 4]
mov ebp, dword [0x10039308]
movsx eax, byte [ebp + edi]
push eax
call fcn.1002d4dd
add ebx, eax
mov dword [esp + 0xc], ebx
push dword [0x1003925c]
push 0x10039380
push 0x10039378
call fcn.1001b254
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
mov ebp, dword [0x10039300]
add ebx, ebx
movzx ebx, word [ebp + ebx]
mov edi, dword [esp + 4]
mov ebp, dword [0x10039310]
movsx eax, byte [ebp + edi]
push eax
call fcn.1002d4dd
add ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 1
jmp 0x100312d3
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x10]
jl 0x10031325
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp]
sub ebx, dword [esp + 8]
mov ebp, dword [esp + 0x4c]
movzx eax, byte [ebp + ebx]
push eax
mov ebp, dword [esp + 0xbc]
mov ebx, dword [ebp]
mov ebp, dword [esp + 0x50]
pop eax
mov byte [ebp + ebx], al
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp]
inc ebx
push ebx
mov ebp, dword [esp + 0xbc]
pop eax
mov dword [ebp], eax
inc dword [esp + 0x10]
jno 0x100312d3
jmp 0x1003118f
mov ebx, dword [esp + 0x14]
and ebx, ebx
jne 0x10031336
xor eax, eax
jmp 0x1003133b
mov eax, 1
and eax, eax
je 0x10030f2f
mov byte [0x100392ec], 0
mov dword [0x10039238], 0
mov dword [0x10039270], 0
mov dword [0x10039254], 0
mov dword [0x10039290], 0
push dword [0x10039368]
call fcn.100332ae
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1003139e
push dword [0x10039368]
call fcn.100332bc
lea edx, str.abandon
lea ecx, [esp + 0x5c]
call fcn.10032008
push dword [0x10039370]
call fcn.100332ae
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1003143a
push dword [0x10039370]
call fcn.100332bc
mov word [esp + 0x60], 5
movzx ebx, word [esp + 0x60]
mov eax, 1
cmp ebx, eax
jl 0x100313e3
movzx ebx, word [esp + 0x60]
dec ebx
push ebx
pop eax
mov word [esp + 0x64], ax
jmp 0x100313f0
movzx ebx, word [esp + 0x60]
inc ebx
push ebx
pop eax
mov word [esp + 0x64], ax
movzx ebx, word [esp + 0x64]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x1003140a
add esp, 4
jmp 0x100317fb
mov ebx, 8
cmp ebx, dword [esp]
jne 0x10031422
movzx eax, word [esp + 0x68]
push eax
pop eax
mov word [esp + 0x64], ax
jmp 0x10031439
mov ebx, 4
cmp ebx, dword [esp]
jne 0x10031439
movzx ebx, word [esp + 0x68]
inc ebx
push ebx
pop eax
mov word [esp + 0x64], ax
pop eax
mov word [esp + 0x68], 5
movzx ebx, word [esp + 0x68]
mov eax, 4
cmp ebx, eax
jl 0x1003145e
movzx ebx, word [esp + 0x68]
dec ebx
push ebx
pop eax
mov word [esp + 0x6c], ax
jmp 0x1003146b
movzx ebx, word [esp + 0x68]
inc ebx
push ebx
pop eax
mov word [esp + 0x6c], ax
movzx ebx, word [esp + 0x6c]
push ebx
mov ebx, 0x11
cmp ebx, dword [esp]
jne 0x10031485
add esp, 4
jmp 0x100317fb
mov ebx, 4
cmp ebx, dword [esp]
jne 0x1003149d
movzx eax, word [esp + 0x70]
push eax
pop eax
mov word [esp + 0x6c], ax
jmp 0x100314b4
mov ebx, 2
cmp ebx, dword [esp]
jne 0x100314b4
movzx ebx, word [esp + 0x70]
inc ebx
push ebx
pop eax
mov word [esp + 0x6c], ax
pop eax
push dword [0x10039378]
call fcn.100332ae
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x100314e1
lea edx, str.number
lea ecx, [esp + 0x70]
call fcn.10032008
push dword [0x10039378]
call fcn.100332bc
push dword [0x10039380]
call fcn.100332ae
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x100314fe
push dword [0x10039380]
call fcn.100332bc
mov word [esp + 0x74], 5
movzx ebx, word [esp + 0x74]
mov eax, 2
cmp ebx, eax
jl 0x10031522
movzx ebx, word [esp + 0x74]
dec ebx
push ebx
pop eax
mov word [esp + 0x78], ax
jmp 0x1003152f
movzx ebx, word [esp + 0x74]
inc ebx
push ebx
pop eax
mov word [esp + 0x78], ax
movzx ebx, word [esp + 0x78]
push ebx
mov ebx, 0x12
cmp ebx, dword [esp]
jne 0x10031549
add esp, 4
jmp 0x100317fb
mov ebx, 5
cmp ebx, dword [esp]
jne 0x10031561
movzx eax, word [esp + 0x7c]
push eax
pop eax
mov word [esp + 0x78], ax
jmp 0x10031578
mov ebx, 3
cmp ebx, dword [esp]
jne 0x10031578
movzx ebx, word [esp + 0x7c]
inc ebx
push ebx
pop eax
mov word [esp + 0x78], ax
pop eax
mov word [esp + 0x7c], 5
movzx ebx, word [esp + 0x7c]
mov eax, 4
cmp ebx, eax
jl 0x100315a0
movzx ebx, word [esp + 0x7c]
dec ebx
push ebx
pop eax
mov word [esp + 0x80], ax
jmp 0x100315b0
movzx ebx, word [esp + 0x7c]
inc ebx
push ebx
pop eax
mov word [esp + 0x80], ax
movzx ebx, word [esp + 0x80]
push ebx
mov ebx, 0x12
cmp ebx, dword [esp]
jne 0x100315cd
add esp, 4
jmp 0x100317fb
mov ebx, 4
cmp ebx, dword [esp]
jne 0x100315eb
movzx eax, word [esp + 0x84]
push eax
pop eax
mov word [esp + 0x80], ax
jmp 0x10031608
mov ebx, 2
cmp ebx, dword [esp]
jne 0x10031608
movzx ebx, word [esp + 0x84]
inc ebx
push ebx
pop eax
mov word [esp + 0x80], ax
pop eax
push dword [0x10039388]
call fcn.100332ae
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x10031638
push dword [0x10039388]
call fcn.100332bc
lea edx, str.mins
lea ecx, [esp + 0x84]
call fcn.10032008
lea edx, str.columnists
lea ecx, [esp + 0x88]
call fcn.10032008
lea edx, str.forum
lea ecx, [esp + 0x8c]
call fcn.10032008
movsx ebx, byte [esp + 0x1c]
and ebx, ebx
jne 0x10031759
lea edx, str.trick
lea ecx, [esp + 0x90]
call fcn.10032008
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp]
dec ebx
mov eax, ebx
inc eax
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.100333dc
mov edx, dword [esp]
push dword [edx]
push dword [esp + 0x50]
call fcn.100333ca
push dword [esp + 0x4c]
call fcn.100332bc
mov eax, 1
movsx eax, al
jmp 0x100317fb
mov word [esp + 0x9c], 3
movzx ebx, word [esp + 0x9c]
mov eax, 1
cmp ebx, eax
jl 0x10031789
movzx ebx, word [esp + 0x9c]
dec ebx
push ebx
pop eax
mov word [esp + 0xa0], ax
jmp 0x1003179c
movzx ebx, word [esp + 0x9c]
inc ebx
push ebx
pop eax
mov word [esp + 0xa0], ax
movzx ebx, word [esp + 0xa0]
push ebx
mov ebx, 0xc
cmp ebx, dword [esp]
jne 0x100317b6
add esp, 4
jmp 0x100317fb
mov ebx, 9
cmp ebx, dword [esp]
jne 0x100317d4
movzx eax, word [esp + 0xa4]
push eax
pop eax
mov word [esp + 0xa0], ax
jmp 0x100317f1
mov ebx, 3
cmp ebx, dword [esp]
jne 0x100317f1
movzx ebx, word [esp + 0xa4]
inc ebx
push ebx
pop eax
mov word [esp + 0xa0], ax
pop eax
xor eax, eax
movsx eax, al
jmp 0x100317fb
push dword [esp + 0x84]
call fcn.10033a30
push dword [esp + 0x3c]
call fcn.10033a30
push dword [esp + 0x54]
call fcn.10033a30
push dword [esp + 0x38]
call fcn.10033a30
push dword [esp + 0x8c]
call fcn.10033a30
push dword [esp + 0x2c]
call fcn.10033a30
push dword [esp + 0x5c]
call fcn.10033a30
push dword [esp + 0x58]
call fcn.10033a30
push dword [esp + 0x70]
call fcn.10033a30
push dword [esp + 0x90]
call fcn.10033a30
push dword [esp + 0x88]
call fcn.10033a30
push dword [esp + 0x40]
call fcn.10033a30
push eax
push dword [esp + 0x50]
call fcn.100332c1
pop eax
add esp, 0xa4
pop edi
pop ebx
pop ebp
ret 8