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

Disassembly:
push 0xffffffffffffffff
push 0x57570d
mov eax, dword fs:[0]
push eax
sub esp, 0x264
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x278]
mov dword fs:[0], eax
mov eax, dword [esp + 0x28c]
test eax, eax
jne 0x4365ff
xor eax, eax
jmp 0x436ab2
mov ecx, str.advertise
call fcn.0041cb10
test eax, eax
je 0x4365f8
mov ecx, str.product
call fcn.0041cb10
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x34], ebp
je 0x4365f8
lea esi, [esp + 0x3c]
call fcn.004363a0
mov eax, dword [esp + 0x288]
add eax, 8
mov dword [esp + 0x280], 0
mov dword [esp + 0x38], eax
jmp 0x436654
mov ebp, dword [esp + 0x34]
add ebp, 0x2c
mov esi, str.popo
mov edi, ebp
call fcn.0041e3f0
test eax, eax
je 0x43666f
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x436671
xor eax, eax
push 0xfde9
lea ecx, [esp + 0x78]
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x78], ecx
call fcn.004102d0
mov byte [esp + 0x280], 1
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x43669c
xor eax, eax
jmp 0x4366b0
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4366a1
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x40]
call fcn.00410570
mov byte [esp + 0x280], 0
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x74]
cmp eax, edx
je 0x4366da
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, str.describe
mov edi, ebp
call fcn.0041e3f0
test eax, eax
je 0x4366f2
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x4366f4
xor eax, eax
push 0xfde9
lea ecx, [esp + 0x78]
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x78], ecx
call fcn.004102d0
mov byte [esp + 0x280], 2
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x43671f
xor eax, eax
jmp 0x436733
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436724
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x44]
call fcn.00410570
mov byte [esp + 0x280], 0
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x74]
cmp eax, edx
je 0x43675d
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, 0x5905a4
mov edi, ebp
call fcn.0041e3f0
test eax, eax
je 0x436775
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x436777
xor eax, eax
push 0xfde9
lea ecx, [esp + 0x78]
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x78], ecx
call fcn.004102d0
mov byte [esp + 0x280], 3
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4367a2
xor eax, eax
jmp 0x4367b6
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4367a7
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x58]
call fcn.00410570
xor ebx, ebx
mov byte [esp + 0x280], bl
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x74]
cmp eax, edx
je 0x4367e1
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, str.eject
mov edi, ebp
call fcn.0041e3f0
cmp eax, ebx
je 0x43680b
mov eax, dword [eax + 0x18]
add eax, 8
cmp eax, ebx
je 0x43680b
push eax
call dword [sym.imp.MSVCR80.dll_atoi]
add esp, 4
mov dword [esp + 0x58], eax
jmp 0x43680f
mov dword [esp + 0x58], ebx
mov esi, 0x5905b0
mov edi, ebp
call fcn.0041e3f0
cmp eax, ebx
je 0x436839
mov eax, dword [eax + 0x18]
add eax, 8
cmp eax, ebx
je 0x436839
push eax
call dword [sym.imp.MSVCR80.dll_atoi]
add esp, 4
mov dword [esp + 0x5c], eax
jmp 0x43683d
mov dword [esp + 0x5c], ebx
mov eax, 1
mov esi, 0x5905f0
mov edi, ebp
mov dword [esp + 0x20], 0x7b9
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
call fcn.0041e3f0
cmp eax, ebx
je 0x436876
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x436878
xor eax, eax
push 0xfde9
lea ecx, [esp + 0x78]
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x78], ecx
call fcn.004102d0
lea edx, [esp + 0x30]
mov byte [esp + 0x280], 4
mov ecx, dword [esp + 0x70]
push edx
call fcn.0040ff50
mov byte [esp + 0x280], 6
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x74]
cmp eax, ecx
je 0x4368c3
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x34]
push ecx
push 0x5905b4
push edx
call dword [sym.imp.MSVCR80.dll_swscanf]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
add esp, 0x20
push eax
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
push edx
mov edx, dword [esp + 0x28]
call fcn.004362d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, 1
xor ebx, ebx
mov esi, 0x5905f4
mov edi, ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x20], 0x8a6
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
call fcn.0041e3f0
cmp eax, ebx
je 0x436960
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x436962
xor eax, eax
push 0xfde9
lea ecx, [esp + 0x17c]
push eax
lea eax, [esp + 0x17c]
mov dword [esp + 0x17c], ecx
call fcn.004102d0
mov byte [esp + 0x280], 7
mov edx, dword [esp + 0x174]
cmp edx, ebx
jne 0x436999
xor eax, eax
jmp 0x4369af
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4369a0
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x34]
call fcn.00410570
mov byte [esp + 0x280], 6
mov eax, dword [esp + 0x174]
lea edx, [esp + 0x178]
cmp eax, edx
je 0x4369df
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x34]
push edx
push 0x5905b4
push eax
call dword [sym.imp.MSVCR80.dll_swscanf]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
add esp, 0x20
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
call fcn.004362d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
call fcn.004377e0
mov byte [esp + 0x280], 0
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 0x436a77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + 0x28]
test esi, esi
je 0x436a96
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x436ace
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x436a82
xor eax, eax
test eax, eax
mov dword [esp + 0x34], eax
jne 0x436650
lea esi, [esp + 0x3c]
call fcn.00436ae0
mov eax, 1
mov ecx, dword [esp + 0x278]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret 8
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x436a98