Function at 0x49db20
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f4337
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b0
push esi
xor eax, eax
mov dword [ebp - 0x34], ecx
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 2
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.00401750
lea esi, [eax + 0x10]
mov dword [ebp + 0xc], esi
push 1
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x24]
call fcn.004baa70
or edi, 0xffffffff
mov byte [ebp - 4], 2
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x49db95
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x24]
call fcn.004bb510
push str.filename
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.004b93a0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x49dbc9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x49dbda
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xa0]
cmp dword [eax - 0xc], 0
jle 0x49dcb2
mov byte [ebp - 4], 9
mov eax, dword [0x53d63c]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x49dc0b
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x49dc23
call fcn.00401bb0
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x49f2cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, dword [0x53d63c]
lea ecx, [ebp + 0xc]
push 5
push str.data_
add eax, 0x10
mov dword [ebp - 0x10], 0x4000
push dword [edx - 0xc]
mov dword [ebp + 0xc], eax
call fcn.004061b0
lea eax, [ebp - 0xa0]
push eax
lea edx, [ebp + 0xc]
lea ecx, [ebp - 0x14]
call fcn.00405e90
add esp, 0x10
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call fcn.004bac40
mov byte [ebp - 4], 9
mov eax, edi
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49dc8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49dcb2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.__tsas_item
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x24]
call fcn.004baec0
xor edi, edi
mov dword [ebp - 0x64], edi
xor esi, esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x60], esi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xe
call dword [sym.imp.mfc140.dll_Ordinal_1001]
push str.__tsas_item__stns___0_
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x24]
call fcn.004bb2b0
mov dword [ebp - 0x14], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x49dd13
mov edi, ecx
mov byte [ebp - 4], 0x10
mov ecx, dword [edi]
push edi
call dword [ecx + 4]
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x49dd2c
mov esi, eax
mov dword [ebp + 0xc], esi
mov byte [ebp - 4], 0x12
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x49dd3d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x49dd4e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xf
test edi, edi
je 0x49f1e2
xor edx, edx
mov ecx, dword [ebp - 0xc4]
xor eax, eax
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x49dd99
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x18]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x20]
test eax, eax
jns 0x49dd90
push 0x50f9d8
push dword [ebp - 0x14]
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0xa4]
cmp edx, eax
jge 0x49f1e2
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc4]
call fcn.004ba8e0
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
cmp edi, esi
je 0x49dddc
mov byte [ebp - 4], 0x16
test esi, esi
je 0x49ddcb
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x64], esi
mov byte [ebp - 4], 0x17
test edi, edi
je 0x49dddc
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
mov esi, dword [esi + 4]
cmp edi, esi
je 0x49de08
mov byte [ebp - 4], 0x18
test esi, esi
je 0x49ddf7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 0x19
test edi, edi
je 0x49de08
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
je 0x49de1c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x49de30
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 0x5042b4
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x64]
call fcn.004ba6c0
push str.stntype
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x1c
xor esi, esi
mov byte [ebp - 0x25], 1
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x80], esi
call fcn.004b93a0
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x9c], esi
je 0x49de99
push str.stns
lea ecx, [ebp - 0x64]
call fcn.004b8fd0
mov esi, eax
mov dword [ebp - 0x80], esi
test esi, esi
jns 0x49de99
cdq
mov esi, eax
mov byte [ebp - 0x25], 0
xor esi, edx
sub esi, edx
mov dword [ebp - 0x80], esi
push str.stnsnogroups
lea ecx, [ebp - 0x64]
call fcn.004b8fd0
mov dword [ebp - 0x30], eax
test esi, esi
jle 0x49f179
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x24]
call fcn.004bb510
push 0x502dcc
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.004b8fd0
mov esi, eax
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x114]
test edx, edx
je 0x49dee6
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x49defa
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1d
test esi, esi
je 0x49e0ea
mov dword [ebp - 0xb4], 0
mov byte [ebp - 4], 0x21
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
or edi, 0x100
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x10], edi
test eax, eax
je 0x49e05e
push ecx
mov ecx, esp
mov dword [ebp - 0x70], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x49df51
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov byte [ebp - 4], 0x25
test esi, esi
je 0x49f2dd
mov eax, dword [esi]
lea ecx, [ebp - 0x18]
push ecx
push esi
mov dword [ebp - 0x18], 0
call dword [eax + 0xb4]
test eax, eax
jns 0x49df81
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x18]
or edi, 0x200
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x10], edi
push ecx
mov edi, esp
mov dword [edi], 0
mov byte [ebp - 4], 0x28
test esi, esi
je 0x49dfaa
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov byte [ebp - 4], 0x29
test esi, esi
je 0x49dff8
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], 0
mov eax, dword [esi]
push ecx
push 0x50f9f8
push esi
call dword [eax]
xor ecx, ecx
mov dword [ebp + 0xc], eax
test eax, eax
cmovns ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x14], ecx
mov byte [ebp - 4], 0x2a
mov ecx, dword [edi]
test ecx, ecx
je 0x49dff1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov dword [edi], ecx
jmp 0x49e016
mov byte [ebp - 4], 0x2c
mov ecx, dword [edi]
test ecx, ecx
je 0x49e00e
mov dword [edi], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, 0x80004002
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x2e
test esi, esi
je 0x49e027
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x27
test eax, eax
jns 0x49e03a
cmp eax, 0x80004002
jne 0x49f2d7
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x2f
call fcn.004b8e50
mov byte [ebp - 4], 0x30
test esi, esi
je 0x49e057
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x21
mov edi, dword [ebp - 0x10]
push 0x502dcc
lea ecx, [ebp - 0xb4]
call fcn.004b8fd0
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x108]
cmp edx, 1
jge 0x49e095
mov eax, dword [ecx + 0x2c0]
test eax, eax
je 0x49e095
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 0x2c0]
add edx, dword [eax]
jmp 0x49e0a0
mov ecx, dword [ecx + 0x2c0]
test ecx, ecx
je 0x49e0b0
nop
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp + 0xc], eax
cmp dword [eax], edx
je 0x49e0b7
test ecx, ecx
jne 0x49e0a0
mov dword [ebp + 0xc], 0
and edi, 0xfffffeff
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x49e0d4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x49e10c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x49e10c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x108]
mov eax, dword [eax + 0x2c0]
test eax, eax
je 0x49e105
mov eax, dword [eax + 8]
mov dword [ebp + 0xc], eax
jmp 0x49e10c
mov dword [ebp + 0xc], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x24]
call fcn.004bb510
mov edi, eax
mov byte [ebp - 4], 0x34
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x18], 0
test esi, esi
je 0x49e1c9
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
lea ecx, [ebp - 0x14c]
push ecx
push esi
call dword [eax + 0x78]
test eax, eax
jns 0x49e188
push 0x50f9f8
push esi
push eax
call fcn.004e2c00
movups xmm0, xmmword [ebp - 0x14c]
or dword [ebp - 0x10], 0x80
xor eax, eax
mov word [ebp - 0x14c], ax
movups xmmword [ebp - 0x18c], xmm0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x35
call fcn.004bc1d0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18c]
push eax
mov byte [ebp - 4], 0x34
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x502dcc
mov ecx, edi
call fcn.004b8fd0
imul edi, eax, 0x186a0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x108]
add edi, dword [ebp - 0x18]
mov ecx, dword [eax + 0x2c0]
cmp edi, 0x186a0
jge 0x49e20a
test ecx, ecx
je 0x49e231
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x49e231
push edi
call fcn.004d6b20
mov esi, eax
jmp 0x49e233
mov eax, 0x14f8b589
imul edi
sar edx, 0xd
mov esi, edx
shr esi, 0x1f
add esi, edx
test ecx, ecx
je 0x49e231
nop
mov edx, dword [ecx + 8]
mov ecx, dword [ecx]
cmp dword [edx], esi
je 0x49e54b
test ecx, ecx
jne 0x49e220
xor esi, esi
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x11c]
test ecx, ecx
je 0x49e247
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x49e25b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x33
test esi, esi
je 0x49f179
push 4
push 1
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x49f2f1
mov dword [eax], esi
xor eax, eax
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x49e2f7
push eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0xfc]
push eax
sub esp, 8
lea eax, [ebp - 0xe4]
push eax
push 0
lea eax, [ebp - 0xd4]
push eax
call fcn.004d6450
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x84], eax
push str.stations
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x64]
call fcn.004ba6c0
push str.item
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0xac]
call fcn.004ba270
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x94], eax
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov byte [ebp - 4], 0x40
xor edi, edi
mov esi, dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x54], edi
test esi, esi
je 0x49e377
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x18]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x20]
test eax, eax
jns 0x49e374
push 0x50f9d8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x18]
cmp edi, eax
jge 0x49e5df
push edi
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x7c]
call fcn.004ba8e0
mov ecx, dword [ebp - 0x50]
mov edi, eax
mov esi, dword [edi]
cmp ecx, esi
je 0x49e3bf
mov byte [ebp - 4], 0x41
test esi, esi
je 0x49e3ab
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x94], esi
mov byte [ebp - 4], 0x42
test ecx, ecx
je 0x49e3bf
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, dword [edi + 4]
mov edi, dword [ebp - 0x5c]
cmp edi, esi
je 0x49e3eb
mov byte [ebp - 4], 0x43
test esi, esi
je 0x49e3d7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x90], esi
mov byte [ebp - 4], 0x44
test edi, edi
je 0x49e3eb
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x49e3ff
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x49e413
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 0x4fc83c
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x40
call fcn.004b8fd0
movzx eax, ax
lea ecx, [ebp - 0x13c]
push eax
push dword [ebp - 0x134]
call dword [sym.imp.mfc140.dll_Ordinal_13201]
mov esi, dword [ebp - 0x9c]
xor edi, edi
test esi, esi
je 0x49e4b0
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
lea ecx, [ebp - 0x15c]
push ecx
push esi
call dword [eax + 0x78]
test eax, eax
jns 0x49e473
push 0x50f9f8
push esi
push eax
call fcn.004e2c00
movups xmm0, xmmword [ebp - 0x15c]
or dword [ebp - 0x10], 0x40
xor eax, eax
mov word [ebp - 0x15c], ax
movups xmmword [ebp - 0x19c], xmm0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0x47
call fcn.004bc1d0
mov edi, eax
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x4fc83c
lea ecx, [ebp - 0x94]
call fcn.004b8fd0
mov ecx, dword [ebp - 0x94]
cmp eax, edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x50], ecx
jne 0x49e564
mov esi, dword [ebp - 0x8c]
cmp esi, ecx
je 0x49e50f
mov byte [ebp - 4], 0x48
test ecx, ecx
je 0x49e4f2
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x8c], esi
mov byte [ebp - 4], 0x49
test ecx, ecx
je 0x49e50b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x40
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x5c]
cmp edi, esi
je 0x49e562
mov byte [ebp - 4], 0x4a
test esi, esi
je 0x49e52a
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, edi
mov edi, esi
mov dword [ebp - 0x88], edi
mov byte [ebp - 4], 0x4b
test ecx, ecx
je 0x49e542
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x40
jmp 0x49e564
imul eax, esi, 0x7960
mov ecx, edx
add eax, edi
push eax
call fcn.004d6b20
mov esi, eax
jmp 0x49e233
mov edi, esi
mov ecx, dword [ebp - 0x50]
sub esp, 8
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test ecx, ecx
je 0x49e5a0
mov byte [ebp - 4], 0x4c
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x50]
mov dword [esi], eax
mov byte [ebp - 4], 0x4d
test ecx, ecx
je 0x49e59c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x40
cmp dword [esi + 4], edi
je 0x49e5cb
mov byte [ebp - 4], 0x4e
test edi, edi
je 0x49e5b3
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x4f
test ecx, ecx
je 0x49e5c7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0xac]
call fcn.004ba4b0
mov edi, dword [ebp - 0x54]
inc edi
jmp 0x49e34b
call fcn.00401bb0
mov ecx, eax
test ecx, ecx
je 0x49f2cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x50
call fcn.00401bb0
mov ecx, eax
test ecx, ecx
je 0x49f2cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x51
xor eax, eax
mov esi, dword [ebp - 0x9c]
test esi, esi
je 0x49e696
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
lea ecx, [ebp - 0x16c]
push ecx
push esi
call dword [eax + 0x78]
test eax, eax
jns 0x49e655
push 0x50f9f8
push esi
push eax
call fcn.004e2c00
movups xmm0, xmmword [ebp - 0x16c]
or dword [ebp - 0x10], 0x20
xor eax, eax
mov word [ebp - 0x16c], ax
movups xmmword [ebp - 0x1ac], xmm0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x52
call fcn.004bc1d0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1ac]
push eax
mov byte [ebp - 4], 0x51
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
push eax
push str.reporting
lea ecx, [ebp - 0x64]
call fcn.004b8fd0
push eax
mov eax, dword [ebp + 0xc]
push dword [eax]
lea eax, [ebp - 0x20]
push str._analysis__surveys__item__ld__item___surveys__demos__item__age_p1_15__p2_99_____item___demos__tsas__item_type_0__reporting__d__includeooa_0___tsa__ld__tsa__stations_
push eax
call fcn.004063e0
mov eax, dword [ebp - 0x84]
add esp, 0x14
xor esi, esi
test eax, eax
je 0x49e716
mov ecx, dword [ebp - 0xe4]
mov dword [ebp + 0xc], ecx
cmp esi, eax
jae 0x49f2e7
movzx eax, byte [ecx + 4]
push eax
push dword [ecx]
lea eax, [ebp - 0x6c]
push str._item_id__ld__type__d___
push eax
call fcn.004063e0
mov edi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x20]
add esp, 0x10
push dword [edi - 0xc]
push edi
call fcn.00406590
mov ecx, dword [ebp + 0xc]
inc esi
mov eax, dword [ebp - 0x84]
add ecx, 0x43b0
mov dword [ebp + 0xc], ecx
cmp esi, eax
jb 0x49e6d8
push 0x24
push str.__stations___item___tsas___analysis_
lea ecx, [ebp - 0x20]
call fcn.00406590
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x108]
call fcn.004bf790
mov esi, eax
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
mov dword [ebp - 0x2c], esi
call fcn.004bd6c0
push 0
push 0
push 1
mov ecx, esi
call fcn.004bc4d0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xa
mov ecx, esi
mov byte [ebp - 4], 0x55
mov eax, dword [ecx + 0x2ad74]
test eax, eax
je 0x49e7b3
mov eax, dword [eax + 8]
test eax, eax
je 0x49e7b3
mov eax, dword [eax]
test eax, eax
je 0x49e7b3
mov eax, dword [eax + 8]
test eax, eax
je 0x49e7b3
mov eax, dword [eax + 0x10]
test eax, eax
je 0x49e7b3
mov eax, dword [eax + 8]
test eax, eax
jne 0x49e7b5
xor eax, eax
mov edx, dword [eax]
nop word [eax + eax]
mov ecx, dword [ecx + 0x2ad74]
test edx, edx
je 0x49e8ac
mov esi, dword [edx + 8]
mov edx, dword [edx]
mov dword [ebp - 0x1c], edx
test esi, esi
je 0x49e8ac
mov eax, dword [ebp - 0x134]
xor ch, ch
xor edx, edx
mov byte [ebp + 0xf], ch
test eax, eax
jle 0x49e827
nop
test edx, edx
js 0x49f1dc
cmp edx, eax
jge 0x49f1dc
mov eax, dword [esi + 0x40ac]
mov cx, word [eax]
mov eax, dword [ebp - 0x138]
cmp cx, word [eax + edx*2]
je 0x49e825
mov eax, dword [ebp - 0x134]
inc edx
cmp edx, eax
jl 0x49e7f0
mov ch, byte [ebp + 0xf]
jmp 0x49e827
mov ch, 1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov cl, byte [eax + 0x68]
cmp cl, 0x53
je 0x49e858
cmp cl, 0x43
je 0x49e866
mov eax, dword [esi + 0x40ac]
cmp byte [eax + 0x6c], 1
je 0x49e892
mov edx, dword [ebp - 0x1c]
test ch, ch
mov ecx, dword [ebp - 0x2c]
je 0x49e7c0
jmp 0x49e892
cmp byte [eax + 0x6c], 1
jne 0x49e866
mov eax, dword [esi + 0x40ac]
jmp 0x49e882
mov eax, dword [esi + 0x40ac]
cmp byte [eax + 0x68], 0x53
je 0x49e892
cmp dword [ebp - 0x30], 1
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
je 0x49e7c0
cmp byte [eax + 0x6c], 1
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
jne 0x49e7c0
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], esi
push eax
lea ecx, [ebp - 0x4c]
call fcn.004de0f0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
jmp 0x49e7c0
test ecx, ecx
je 0x49e8b5
mov eax, dword [ecx + 8]
jmp 0x49e8b7
xor eax, eax
mov eax, dword [eax]
test eax, eax
je 0x49e8c2
mov edx, dword [eax + 8]
jmp 0x49e8c4
xor edx, edx
mov ecx, dword [ebp - 0x4c]
mov edi, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edi
nop
test ecx, ecx
je 0x49ebee
mov esi, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x54], esi
test esi, esi
je 0x49ebee
mov ecx, dword [esi + 0x40ac]
mov eax, dword [ebp - 0x34]
cmp word [ecx + 0x6a], 1
mov eax, dword [eax + 0xf8]
jne 0x49e906
cmp eax, 1
jmp 0x49e909
cmp eax, 2
je 0x49e9e9
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xfc], 0
jne 0x49e928
movzx eax, byte [ecx + 2]
cmp eax, dword [edx + 8]
jg 0x49e9e9
lea eax, [ebp - 0xf0]
mov ecx, esi
push eax
call fcn.004d9170
mov byte [ebp - 4], 0x56
or dword [ebp - 0x10], 1
push str.Other_Radio
push dword [eax]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x49e9e9
mov eax, dword [esi + 0x40ac]
mov ecx, 0x4e20
cmp word [eax], cx
jbe 0x49e9e3
mov esi, dword [ebp - 0x9c]
xor eax, eax
test esi, esi
je 0x49e9dc
lea eax, [ebp - 0x17c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
lea ecx, [ebp - 0x17c]
push ecx
push esi
call dword [eax + 0x78]
test eax, eax
jns 0x49e99c
push 0x50f9f8
push esi
push eax
call fcn.004e2c00
movups xmm0, xmmword [ebp - 0x17c]
or dword [ebp - 0x10], 0x10
xor eax, eax
mov word [ebp - 0x17c], ax
movups xmmword [ebp - 0x1bc], xmm0
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 4], 0x57
call fcn.004bc1d0
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x54]
cmp dword [esi], eax
jne 0x49e9e9
mov byte [ebp + 0xf], 0
jmp 0x49e9ed
mov byte [ebp + 0xf], 1
mov dword [ebp - 4], 0x55
mov eax, dword [ebp - 0x10]
test al, 1
je 0x49ea1f
mov edx, dword [ebp - 0xf0]
and eax, 0xfffffffe
mov dword [ebp - 0x10], eax
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49ea1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp + 0xf], 0
je 0x49ea7a
test edi, edi
je 0x49ebde
mov ecx, dword [edi]
cmp edi, dword [ebp - 0x4c]
jne 0x49ea39
mov dword [ebp - 0x4c], ecx
jmp 0x49ea3e
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov ecx, dword [edi + 4]
cmp edi, dword [ebp - 0x48]
jne 0x49ea4b
mov dword [ebp - 0x48], ecx
jmp 0x49ea50
mov eax, dword [edi]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x3c]
mov dword [edi], eax
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], edi
jne 0x49ebde
lea ecx, [ebp - 0x4c]
call fcn.004bed80
mov ecx, dword [ebp - 0x70]
mov edi, ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
jmp 0x49e8d0
mov eax, dword [esi + 0x40ac]
cmp byte [eax + 0x6c], 1
jne 0x49ebde
cmp byte [eax + 0x68], 0x53
je 0x49ebde
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], edx
nop word [eax + eax]
test edx, edx
je 0x49ebde
mov eax, dword [edx + 8]
mov edx, dword [edx]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x30], eax
test eax, eax
je 0x49ebde
mov ecx, dword [eax + 0x40ac]
cmp byte [ecx + 0x6c], 1
je 0x49eaa0
mov eax, dword [esi + 0x40ac]
xor edx, edx
xor edi, edi
mov dword [ebp - 0x1c], edx
cmp di, word [eax + 0x82]
jae 0x49ebc6
movzx edx, word [ecx + 0x82]
xor esi, esi
mov dword [ebp + 0xc], edx
test edx, edx
je 0x49eb93
mov eax, dword [ebp + 0xc]
lea edx, [ecx + 0x84]
nop
cmp dword [edx], 0xffffffff
je 0x49eb4c
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x40ac]
mov eax, dword [eax + ecx*4 + 0x84]
mov dword [ebp - 0xb8], eax
cmp eax, 0xffffffff
je 0x49eb49
mov edi, dword [ebp - 0x30]
mov eax, 0x270f
mov ecx, dword [edi + 0x40ac]
mov edi, dword [ebp - 0x18]
cmp word [ecx], ax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edx]
ja 0x49eb49
mov ax, word [eax]
cmp ax, word [ecx]
je 0x49eb56
mov eax, dword [ebp + 0xc]
inc esi
add edx, 4
cmp esi, eax
jl 0x49eb00
jmp 0x49eb93
test edi, edi
je 0x49eb93
mov ecx, dword [edi]
cmp edi, dword [ebp - 0x4c]
jne 0x49eb66
mov dword [ebp - 0x4c], ecx
jmp 0x49eb6b
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov ecx, dword [edi + 4]
cmp edi, dword [ebp - 0x48]
jne 0x49eb78
mov dword [ebp - 0x48], ecx
jmp 0x49eb7d
mov eax, dword [edi]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x3c]
mov dword [edi], eax
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], edi
jne 0x49eb93
lea ecx, [ebp - 0x4c]
call fcn.004bed80
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x40ac]
movzx eax, word [ecx + 0x82]
cmp esi, eax
mov esi, dword [ebp - 0x54]
jne 0x49ebc6
mov eax, dword [esi + 0x40ac]
inc edx
mov dword [ebp - 0x1c], edx
movzx eax, word [eax + 0x82]
cmp edx, eax
jl 0x49eae1
mov eax, dword [esi + 0x40ac]
movzx eax, word [eax + 0x82]
cmp edx, eax
mov edx, dword [ebp - 0x68]
je 0x49eaa0
mov ecx, dword [ebp - 0x70]
mov edi, ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
jmp 0x49e8d0
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
xorps xmm0, xmm0
mov dword [ebp - 0x1c], edx
movsd qword [ebp - 0x74], xmm0
mov dword [ebp - 0x30], ecx
cmp byte [ebp - 0x25], dl
je 0x49ecde
test ecx, ecx
je 0x49edb7
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x49edb7
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, eax
call fcn.004d9170
or dword [ebp - 0x10], 2
mov dword [ebp + 0xc], eax
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jl 0x49ec65
push 0x50a70c
push ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
add esp, 8
test eax, eax
je 0x49ec65
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x49ec78
mov eax, dword [ebp - 0x14]
mov byte [ebp + 0xf], 1
movsd xmm0, qword [eax + 0x10]
comisd xmm0, xmmword [ebp - 0x74]
ja 0x49ec7c
mov byte [ebp + 0xf], 0
mov eax, dword [ebp - 0x10]
test al, 2
je 0x49eca7
mov edx, dword [ebp - 0xf4]
and eax, 0xfffffffd
mov dword [ebp - 0x10], eax
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49eca7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp + 0xf], 0
je 0x49ecd0
mov eax, dword [ebp - 0x14]
mov edx, eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
movsd xmm0, qword [eax + 0x10]
mov eax, dword [ebp - 0x30]
movsd qword [ebp - 0x74], xmm0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x30], ecx
jmp 0x49ec10
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
jmp 0x49ec10
or edi, 0xffffffff
test ecx, ecx
je 0x49edb4
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x49edb4
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, eax
call fcn.004d9170
or dword [ebp - 0x10], 4
mov dword [ebp + 0xc], eax
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jl 0x49ed36
push 0x50a70c
push ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
add esp, 8
test eax, eax
je 0x49ed36
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x49ed4c
mov eax, dword [ebp - 0x14]
mov byte [ebp + 0xf], 1
movsd xmm0, qword [eax + 0xe0]
comisd xmm0, xmmword [ebp - 0x74]
ja 0x49ed50
mov byte [ebp + 0xf], 0
mov eax, dword [ebp - 0x10]
test al, 4
je 0x49ed7a
mov edx, dword [ebp - 0xe8]
and eax, 0xfffffffb
mov dword [ebp - 0x10], eax
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49ed7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp + 0xf], 0
je 0x49eda6
mov eax, dword [ebp - 0x14]
mov edx, eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
movsd xmm0, qword [eax + 0xe0]
mov eax, dword [ebp - 0x30]
movsd qword [ebp - 0x74], xmm0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x30], ecx
jmp 0x49ece1
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
jmp 0x49ece1
mov edi, dword [ebp - 0x6c]
test edx, edx
je 0x49ef82
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x8c]
call fcn.004b9f60
mov byte [ebp - 4], 0x58
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x49ee23
cmp dword [esi + 0xc], 0
jl 0x49ee17
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x49ee17
call fcn.00401750
mov dword [ebp + 0xc], eax
lea edx, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x49ee0f
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
jmp 0x49ee23
push dword [edx - 0xc]
lea ecx, [ebp - 0x20]
push edx
call fcn.00401820
mov byte [ebp - 4], 0x55
or eax, 0xffffffff
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49ee45
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x58]
call fcn.004baa70
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x20]
push dword [esi]
push 0x4fd994
push eax
call fcn.004063e0
add esp, 0xc
lea eax, [ebp - 0x108]
lea ecx, [ebp - 0x58]
push eax
call fcn.004bb510
mov byte [ebp - 4], 0x59
mov ecx, eax
push dword [ebp - 0x20]
push 0x4fc83c
call fcn.004b9820
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x49ee9f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x49eeb3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x55
movzx eax, byte [esi + 4]
push eax
lea eax, [ebp - 0x20]
push 0x4fcc0c
push eax
call fcn.004063e0
add esp, 0xc
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x58]
push eax
call fcn.004bb510
mov byte [ebp - 4], 0x5c
mov ecx, eax
mov esi, dword [ebp - 0x20]
push esi
push str.type
call fcn.004b9820
mov byte [ebp - 4], 0x5d
mov ecx, dword [ebp - 0x124]
test ecx, ecx
je 0x49ef04
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x49ef18
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
sub esp, 8
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x58]
push esp
call fcn.004bb510
lea ecx, [ebp - 0xac]
call fcn.004ba3d0
mov edx, dword [ebp - 0x68]
test edx, edx
je 0x49ef73
mov ecx, dword [edx]
cmp edx, dword [ebp - 0x4c]
jne 0x49ef46
mov dword [ebp - 0x4c], ecx
jmp 0x49ef4b
mov eax, dword [edx + 4]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
cmp edx, dword [ebp - 0x48]
jne 0x49ef58
mov dword [ebp - 0x48], ecx
jmp 0x49ef5d
mov eax, dword [edx]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], edx
jne 0x49ef73
lea ecx, [ebp - 0x4c]
call fcn.004bed80
mov eax, dword [ebp - 0x80]
dec eax
mov dword [ebp - 0x80], eax
test eax, eax
jg 0x49ebf4
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x49efbd
mov eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov edx, dword [ecx + 4]
cmp ecx, dword [ebp - 0x48]
jne 0x49ef9b
mov dword [ebp - 0x48], edx
jmp 0x49efa0
mov eax, dword [ecx]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x3c], ecx
jne 0x49efb6
lea ecx, [ebp - 0x4c]
call fcn.004bed80
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
jne 0x49ef89
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x108]
add eax, 0x2d8
mov dword [ebp + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x49f02e
mov edi, dword [ebp - 0x2c]
mov eax, ecx
mov edx, ecx
mov ecx, dword [ecx]
cmp dword [eax + 8], edi
mov edi, dword [ebp - 0x6c]
je 0x49efeb
test ecx, ecx
jne 0x49efd4
jmp 0x49f02e
mov eax, dword [ebp + 0xc]
cmp edx, dword [eax]
je 0x49eff5
mov eax, dword [edx + 4]
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
cmp edx, dword [ecx + 4]
jne 0x49f007
mov dword [ecx + 4], eax
jmp 0x49f012
mov eax, dword [edx]
mov esi, dword [edx + 4]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x20]
mov eax, dword [ecx + 0x10]
mov dword [edx], eax
add dword [ecx + 8], 0xffffffff
mov dword [ecx + 0x10], edx
jne 0x49f025
call fcn.004bed80
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.004beb60
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x5f
call fcn.004de070
lea ecx, [ebp - 0x4c]
call fcn.004bed80
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x49f058
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x62
test eax, eax
je 0x49f066
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x50
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x49f082
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x40
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x49f09e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x49f0b2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x49f0c6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x65
test ecx, ecx
je 0x49f0d7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 0x66
test ecx, ecx
je 0x49f0e8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x67
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x49f0f9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x68
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x49f10a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x49f11e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x49f132
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x49f16a
mov edi, dword [ebp - 0x84]
test edi, edi
je 0x49f160
mov esi, eax
mov ecx, esi
call fcn.004d81a0
add esi, 0x43b0
sub edi, 1
jne 0x49f148
mov eax, dword [ebp - 0xe4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [ebp - 0xd4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov byte [ebp - 4], 0x1c
or eax, 0xffffffff
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49f19b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x49f1af
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x49f1c3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0xf
inc edx
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov dword [ebp + 0xc], esi
jmp 0x49dd5c
call dword [sym.imp.mfc140.dll_Ordinal_2381]
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x24]
call fcn.004bbab0
mov byte [ebp - 4], 0x6d
mov ecx, dword [ebp + 8]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_272]
or dword [ebp - 0x10], 8
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49f21f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x13c]
call dword [sym.imp.mfc140.dll_Ordinal_1473]
mov byte [ebp - 4], 0x6e
test esi, esi
je 0x49f239
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x6f
test edi, edi
je 0x49f247
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x49f25b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x71
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x49f26f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x49f291
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x72
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x49f2aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x74
test eax, eax
je 0x49f2b8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x80004005
call fcn.00401f30
push eax
call fcn.004e2be0
push 0x80004003
call fcn.004e2be0
push 0x80070057
call fcn.00401f30
push 0x8007000e
call fcn.00401f30
int3