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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe80
push ebx
push esi
push edi
mov dword [ebp - 0x140], eax
mov eax, 0x5355c8
call fcn.00524684
mov word [ebp - 0x12c], 8
xor edx, edx
xor ecx, ecx
mov dword [ebp - 8], edx
xor eax, eax
inc dword [ebp - 0x120]
xor edx, edx
mov word [ebp - 0x12c], 0x14
mov word [ebp - 0x12c], 0x20
mov dword [ebp - 0xc], ecx
xor ecx, ecx
inc dword [ebp - 0x120]
mov word [ebp - 0x12c], 0x14
mov word [ebp - 0x12c], 0x2c
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x120]
mov word [ebp - 0x12c], 0x14
mov word [ebp - 0x12c], 0x38
mov dword [ebp - 0x14], edx
mov edx, dword [0x55ad00]
inc dword [ebp - 0x120]
mov word [ebp - 0x12c], 0x14
mov word [ebp - 0x12c], 0x44
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x120]
xor eax, eax
mov word [ebp - 0x12c], 0x14
mov dword [ebp - 0x154], eax
mov eax, dword [edx]
call fcn.00402f50
mov edx, dword [ebp - 0x140]
mov al, byte [edx + 0x7c]
test al, al
jne 0x40f77f
mov edx, dword [ebp - 0x140]
cmp byte [edx + 0x7d], 0
je 0x40f81e
mov esi, dword [0x538c28]
xor ebx, ebx
mov byte [ebp - 0x14d], 0
test al, al
je 0x40f7a1
mov eax, dword [ebp - 0x140]
cmp byte [eax + 0x7d], 0
je 0x40f7b7
dec esi
jmp 0x40f7b7
mov edx, dword [ebp - 0x140]
cmp byte [edx + 0x7d], 0
je 0x40f7b7
mov byte [ebp - 0x14d], 1
lea ebx, [esi - 1]
mov dl, 1
mov eax, dword [0x493e58]
call fcn.00402544
mov dword [ebp - 0x14c], eax
cmp esi, ebx
jle 0x40f826
mov word [ebp - 0x12c], 0x50
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
lea edx, [ebp - 0x1c]
inc dword [ebp - 0x120]
mov eax, ebx
shl eax, 2
add eax, 0x538bf0
call fcn.0052f5ac
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [edx]
call dword [ecx + 0x38]
dec dword [ebp - 0x120]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0052f334
inc ebx
cmp esi, ebx
jg 0x40f7cd
jmp 0x40f826
xor ecx, ecx
mov dword [ebp - 0x14c], ecx
mov word [ebp - 0x12c], 0x5c
mov word [ebp - 0x12c], 0x68
xor eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x20]
inc dword [ebp - 0x120]
mov edx, dword [0x53118c]
mov eax, 0x478
call fcn.0041cce8
lea edx, [ebp - 0x20]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x156]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x156]
or byte [ebp - 0x155], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0052f334
push 0xffff
mov ecx, dword [0x53118c]
mov dl, 1
mov eax, dword [0x494058]
call fcn.00498e10
mov ecx, dword [ebp - 0x140]
mov dword [ecx + 4], eax
mov word [ebp - 0x12c], 0x14
jmp 0x40fa41
mov word [ebp - 0x12c], 0x98
xor eax, eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, 0x478
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
mov edx, dword [edx + 0x2c]
call fcn.0041cce8
lea ecx, [ebp - 0x30]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x15e]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x15e]
or byte [ebp - 0x15d], 8
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0xa4
xor ecx, ecx
mov eax, 0x532351
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x34]
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
add edx, 0x2c
call fcn.0052f980
lea eax, [ebp - 0x34]
push eax
mov edx, 0x532353
lea eax, [ebp - 0x38]
call fcn.0052f020
inc dword [ebp - 0x120]
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x3c]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x38]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0xc]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0052f334
cmp dword [ebp - 0xc], 0
je 0x40fb5e
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx - 4]
jmp 0x40fb60
xor ecx, ecx
cmp dword [ebp - 0xc], 0
je 0x40fb6b
mov edx, dword [ebp - 0xc]
jmp 0x40fb70
mov edx, 0x532356
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x2c]
call fcn.004a3d88
test al, al
je 0x40fce4
mov word [ebp - 0x12c], 0xb0
mov edx, dword [ebp - 0x140]
xor eax, eax
mov ecx, dword [edx + 0x2c]
lea edx, [ebp - 0x40]
push ecx
mov dword [ebp - 0x40], eax
push edx
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x140]
mov edx, dword [eax + 0x2c]
mov eax, 0x490
mov ecx, dword [ecx + 0x28]
call fcn.0041d31c
lea eax, [ebp - 0x40]
mov eax, dword [eax]
call fcn.0041eb10
xor edx, edx
mov dl, al
lea eax, [ebp - 0x40]
cmp edx, 1
mov edx, 2
sbb ecx, ecx
neg ecx
push ecx
dec dword [ebp - 0x120]
call fcn.0052f334
pop ecx
test cl, cl
je 0x40fe1a
mov eax, dword [ebp - 0x140]
mov edx, dword [eax + 4]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
je 0x40fc3d
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
mov dword [ebp - 0x44], eax
mov word [ebp - 0x12c], 0xc8
mov edx, 3
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x12c], 0xbc
mov edx, dword [ebp - 0x140]
xor eax, eax
mov dword [edx + 4], eax
mov eax, dword [0x53118c]
call fcn.0052ef94
mov edx, dword [ebp - 0x140]
mov eax, dword [edx + 0x2c]
call fcn.004a428c
mov edx, dword [ebp - 0x140]
xor ecx, ecx
mov eax, 0x48a
mov byte [edx + 0x74], 1
mov word [ebp - 0x12c], 0xd4
mov dword [ebp - 0x4c], ecx
lea edx, [ebp - 0x4c]
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0x4c]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x160]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x160]
or byte [ebp - 0x160], 8
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x14
mov bl, 1
jmp 0x410ee6
mov eax, dword [ebp - 0x140]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x54], ebx
test ebx, ebx
je 0x40fd18
mov eax, dword [ebx]
mov dword [ebp - 0x50], eax
mov word [ebp - 0x12c], 0xec
mov edx, 3
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x12c], 0xe0
mov edx, dword [ebp - 0x140]
xor eax, eax
mov dword [edx + 4], eax
mov eax, dword [0x53118c]
call fcn.0052ef94
mov word [ebp - 0x12c], 0xf8
xor edx, edx
mov dword [ebp - 0x58], edx
lea ecx, [ebp - 0x58]
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x140]
mov edx, dword [eax + 0x2c]
mov eax, 0x404
call fcn.0041cce8
lea edx, [ebp - 0x58]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x162]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x162]
or byte [ebp - 0x161], 2
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x104
xor ecx, ecx
lea edx, [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov eax, 0x3ee
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0x5c]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x164]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x164]
or byte [ebp - 0x163], 1
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x14
xor ebx, ebx
jmp 0x410ee6
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x18]
mov edx, dword [eax]
call dword [edx + 0x90]
mov eax, dword [ebp - 0x140]
add eax, 0x28
cmp dword [eax], 0
je 0x40fe40
mov edx, dword [eax]
mov ecx, dword [edx - 4]
jmp 0x40fe42
xor ecx, ecx
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x78]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x78]
mov edx, dword [eax]
call dword [edx + 0x90]
xor ebx, ebx
jmp 0x40ff28
xor eax, eax
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x64]
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
mov eax, dword [edx + 0x78]
mov edx, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x64]
xor edx, edx
mov dword [ebp - 0x68], edx
lea edx, [ebp - 0x68]
inc dword [ebp - 0x120]
call fcn.0052f5ac
lea eax, [ebp - 0x68]
xor ecx, ecx
push eax
lea edx, [ebp - 0x60]
mov word [ebp - 0x12c], 0x110
mov dword [ebp - 0x60], ecx
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x140]
add eax, 0x3c
call fcn.0052f5ac
lea eax, [ebp - 0x60]
pop edx
call fcn.0052f418
push eax
dec dword [ebp - 0x120]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.0052f334
pop ecx
test cl, cl
je 0x40ff27
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x78]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
jmp 0x40ff3e
inc ebx
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x78]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x40fe70
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + 0x78]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
mov eax, dword [0x55ad00]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2f8]
call fcn.00511360
mov edx, dword [0x55ad00]
mov ecx, dword [edx]
mov edx, 1
mov eax, dword [ecx + 0x2f8]
call fcn.005113bc
mov word [ebp - 0x12c], 0x11c
xor ecx, ecx
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
mov eax, 0x476
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0x6c]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x166]
push edx
call fcn.00524368
or byte [ebp - 0x166], 8
add esp, 0xc
lea ecx, [ebp - 0x166]
or byte [ebp - 0x166], 0x40
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.0052f334
mov ecx, dword [0x55ad00]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2f0]
mov eax, dword [edx + 0x218]
call fcn.00497748
xor ebx, ebx
jmp 0x410bb5
mov word [ebp - 0x12c], 0x128
xor eax, eax
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x70]
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
mov eax, dword [edx + 0x78]
mov edx, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
lea edx, [ebp - 0x70]
lea eax, [ebp - 8]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.0052f334
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + 0x78]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
lea ecx, [ebp - 0x74]
sete al
and eax, 1
xor edx, edx
mov byte [ebp - 0x14e], al
mov word [ebp - 0x12c], 0x134
mov dword [ebp - 0x74], edx
push ecx
inc dword [ebp - 0x120]
cmp dword [ebp - 8], 0
je 0x410092
mov eax, dword [ebp - 8]
mov ecx, dword [eax - 4]
jmp 0x410094
xor ecx, ecx
mov edx, dword [ebp - 0x144]
lea eax, [ebp - 8]
inc edx
call fcn.0052f6bc
lea edx, [ebp - 0x74]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.0052f334
mov ecx, dword [0x55ad00]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2fc]
call fcn.004fb57c
mov ecx, dword [0x55ad00]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2f8]
call fcn.005113f8
mov word [ebp - 0x12c], 0x140
xor edx, edx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x78], edx
lea edx, [ebp - 0x78]
inc dword [ebp - 0x120]
call fcn.0052f5ac
lea edx, [ebp - 0x78]
lea eax, [ebp - 0xc]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x14c
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x7c]
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0xc]
add eax, 0x20
call fcn.00404a7c
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0xc]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.0052f334
cmp byte [ebp - 0x14e], 0
je 0x41033f
mov word [ebp - 0x12c], 0x158
xor ecx, ecx
mov dword [ebp - 0x80], ecx
lea edx, [ebp - 0x80]
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0xc]
call fcn.004a4190
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x18]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.0052f334
cmp dword [ebp - 0x18], 0
je 0x4101c5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
jmp 0x4101c7
xor eax, eax
test eax, eax
je 0x41033f
mov word [ebp - 0x12c], 0x164
mov edx, str..ADM
lea eax, [ebp - 0x84]
call fcn.0052f020
inc dword [ebp - 0x120]
lea edx, [ebp - 0x84]
lea eax, [ebp - 0x18]
call fcn.0052f418
push eax
dec dword [ebp - 0x120]
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.0052f334
pop ecx
test cl, cl
je 0x41033f
mov word [ebp - 0x12c], 0x170
xor eax, eax
mov dword [ebp - 0x88], eax
lea ecx, [ebp - 0x88]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x10]
mov eax, 0x53235c
call fcn.0052f980
lea edx, [ebp - 0x88]
push edx
mov edx, 0x532366
lea eax, [ebp - 0x8c]
call fcn.0052f020
inc dword [ebp - 0x120]
xor eax, eax
mov dword [ebp - 0x90], eax
lea edx, [ebp - 0x8c]
inc dword [ebp - 0x120]
lea ecx, [ebp - 0x90]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0x90]
xor eax, eax
lea ecx, [ebp - 0x94]
mov edx, dword [edx]
mov dword [ebp - 0x94], eax
mov eax, 0x470
inc dword [ebp - 0x120]
call fcn.0041cce8
lea edx, [ebp - 0x94]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x168]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x168]
or byte [ebp - 0x167], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.0052f334
jmp 0x410bb4
cmp dword [ebp - 0x14c], 0
je 0x41063a
xor esi, esi
jmp 0x4104f7
mov word [ebp - 0x12c], 0x17c
xor eax, eax
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x98]
inc dword [ebp - 0x120]
mov edx, esi
mov eax, dword [ebp - 0x14c]
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x14]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.0052f334
lea edx, [ebp - 0x14]
lea eax, [ebp - 0xc]
call fcn.0052f588
dec eax
jne 0x4104f6
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.0040f464
test al, al
je 0x4104f6
cmp byte [ebp - 0x14d], 0
je 0x41063a
mov word [ebp - 0x12c], 0x188
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x9c]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x10]
mov eax, 0x532368
call fcn.0052f980
lea eax, [ebp - 0x9c]
push eax
mov edx, 0x532372
lea eax, [ebp - 0xa0]
call fcn.0052f020
inc dword [ebp - 0x120]
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
lea ecx, [ebp - 0xa4]
inc dword [ebp - 0x120]
lea edx, [ebp - 0xa0]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0xa4]
xor eax, eax
lea ecx, [ebp - 0xa8]
mov edx, dword [edx]
mov dword [ebp - 0xa8], eax
mov eax, 0x470
inc dword [ebp - 0x120]
call fcn.0041cce8
lea edx, [ebp - 0xa8]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x16a]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x16a]
or byte [ebp - 0x169], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xa8]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.0052f334
jmp 0x410bb4
inc esi
mov eax, dword [ebp - 0x14c]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp esi, eax
jl 0x410353
cmp byte [ebp - 0x14d], 0
jne 0x41063a
mov word [ebp - 0x12c], 0x194
xor ecx, ecx
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xac]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x10]
mov eax, 0x532374
call fcn.0052f980
lea eax, [ebp - 0xac]
push eax
mov edx, 0x53237e
lea eax, [ebp - 0xb0]
call fcn.0052f020
inc dword [ebp - 0x120]
xor ecx, ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0xb4]
inc dword [ebp - 0x120]
lea edx, [ebp - 0xb0]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0xb4]
xor eax, eax
lea ecx, [ebp - 0xb8]
mov edx, dword [edx]
mov dword [ebp - 0xb8], eax
mov eax, 0x470
inc dword [ebp - 0x120]
call fcn.0041cce8
lea edx, [ebp - 0xb8]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x16c]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x16c]
or byte [ebp - 0x16b], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.0052f334
jmp 0x410bb4
mov word [ebp - 0x12c], 0x1a0
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0xbc]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x140]
add eax, 0x2c
call fcn.0052f38c
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.0052f334
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + 0x78]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x410823
mov word [ebp - 0x12c], 0x1ac
xor eax, eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov eax, 0x478
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x10]
call fcn.0041cce8
lea edx, [ebp - 0xc0]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x16e]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x16e]
or byte [ebp - 0x16d], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xc0]
mov edx, 2
call fcn.0052f334
mov eax, dword [ebp - 0x10]
call fcn.004a3d88
test al, al
jne 0x410bb4
mov word [ebp - 0x12c], 0x1b8
xor edx, edx
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], edx
mov eax, 0x404
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x10]
call fcn.0041cce8
lea ecx, [ebp - 0xc4]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x170]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x170]
or byte [ebp - 0x16f], 2
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xc4]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x1c4
xor ecx, ecx
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc8], ecx
mov eax, 0x3ee
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0xc8]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x172]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x172]
or byte [ebp - 0x171], 1
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xc8]
mov edx, 2
call fcn.0052f334
xor ebx, ebx
jmp 0x410ee6
lea ecx, [ebp - 0x148]
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x8c]
test al, al
je 0x410a24
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x148]
mov ecx, dword [eax]
call dword [ecx + 0x18]
movsx eax, al
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0x148]
sub edx, 5
jb 0x41087b
sub edx, 2
jb 0x410901
jmp 0x410a24
mov word [ebp - 0x12c], 0x1d0
xor ecx, ecx
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], ecx
push eax
inc dword [ebp - 0x120]
lea eax, [ebp - 0xcc]
mov edx, 0x532380
call fcn.0052f020
inc dword [ebp - 0x120]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x140]
add eax, 0x20
mov edx, dword [ebp - 0x10]
call fcn.00404ba8
lea edx, [ebp - 0xd0]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xcc]
mov edx, 2
call fcn.0052f334
jmp 0x410a24
mov word [ebp - 0x12c], 0x1dc
xor ecx, ecx
mov dword [ebp - 0xd4], ecx
lea ecx, [ebp - 0xd4]
inc dword [ebp - 0x120]
lea edx, [ebp - 0x10]
mov eax, 0x532384
call fcn.0052f980
lea eax, [ebp - 0xd4]
push eax
mov edx, 0x53238e
lea eax, [ebp - 0xd8]
call fcn.0052f020
inc dword [ebp - 0x120]
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xdc]
inc dword [ebp - 0x120]
lea edx, [ebp - 0xd8]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0xdc]
xor eax, eax
lea ecx, [ebp - 0xe0]
mov edx, dword [edx]
mov dword [ebp - 0xe0], eax
mov eax, 0x470
inc dword [ebp - 0x120]
call fcn.0041cce8
lea edx, [ebp - 0xe0]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x174]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x174]
or byte [ebp - 0x173], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xe0]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xdc]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xd8]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.0052f334
jmp 0x410bb4
mov word [ebp - 0x12c], 0x1e8
xor ecx, ecx
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], ecx
push eax
inc dword [ebp - 0x120]
mov eax, 0x474
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.0041cf38
lea edx, [ebp - 0xe4]
mov ecx, dword [edx]
push ecx
push 2
push 0
lea eax, [ebp - 0x176]
push eax
call fcn.00524368
add esp, 0xc
lea edx, [ebp - 0x176]
or byte [ebp - 0x175], 8
mov cx, word [edx]
mov eax, dword [0x55ad00]
pop edx
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xe4]
mov edx, 2
call fcn.0052f334
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp - 8]
push eax
call fcn.0040dd04
add esp, 8
test al, al
jne 0x410bb4
mov word [ebp - 0x12c], 0x1f4
xor edx, edx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], edx
push ecx
inc dword [ebp - 0x120]
mov eax, 0x402
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.0041cf38
lea eax, [ebp - 0xe8]
mov edx, dword [eax]
push edx
push 2
push 0
lea ecx, [ebp - 0x178]
push ecx
call fcn.00524368
add esp, 0xc
lea eax, [ebp - 0x178]
or byte [ebp - 0x177], 2
mov cx, word [eax]
mov edx, dword [0x55ad00]
mov eax, dword [edx]
pop edx
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xe8]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], pe_nt_image_headers32
xor ecx, ecx
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], ecx
mov eax, 0x3ee
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0xec]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x17a]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x17a]
or byte [ebp - 0x179], 1
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xec]
mov edx, 2
call fcn.0052f334
xor ebx, ebx
jmp 0x410ee6
inc ebx
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 0x78]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x410009
mov dl, 1
mov eax, dword [0x493e58]
call fcn.00402544
mov dword [ebp - 0x154], eax
mov dl, 1
mov eax, dword [ebp - 0x154]
call fcn.00498844
mov ecx, dword [ebp - 0x154]
mov byte [ecx + 0x1d], 0
xor ebx, ebx
jmp 0x410cdd
mov eax, esi
mov edx, ebx
call fcn.00496114
mov esi, eax
mov cl, byte [esi]
sub cl, 2
jb 0x410c1a
add cl, 0xfd
sub cl, 2
jb 0x410c1a
jmp 0x410cdc
lea eax, [esi + 0x34]
cmp dword [eax], 0
je 0x410c29
mov edx, dword [eax]
mov ecx, dword [edx - 4]
jmp 0x410c2b
xor ecx, ecx
test ecx, ecx
je 0x410cdc
mov word [ebp - 0x12c], 0x20c
xor eax, eax
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0xf0]
inc dword [ebp - 0x120]
lea edx, [esi + 0x34]
mov eax, dword [ebp - 0x140]
add eax, 0x2c
call fcn.0052f38c
lea edx, [ebp - 0xf0]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0xf0]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x218
xor ecx, ecx
mov dword [ebp - 0xf4], ecx
lea edx, [ebp - 0xf4]
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x10]
call fcn.004a4050
lea edx, [ebp - 0xf4]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0xf4]
mov edx, 2
call fcn.0052f334
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
mov eax, dword [ebp - 0x140]
mov esi, dword [eax + 0x14]
cmp ebx, dword [esi + 8]
jl 0x410bfb
xor ebx, ebx
jmp 0x410ed1
mov word [ebp - 0x12c], 0x224
xor eax, eax
mov dword [ebp - 0xf8], eax
lea ecx, [ebp - 0xf8]
inc dword [ebp - 0x120]
mov edx, ebx
mov eax, dword [ebp - 0x154]
mov esi, dword [eax]
call dword [esi + 0xc]
lea edx, [ebp - 0xf8]
lea eax, [ebp - 0x10]
call fcn.0052f364
dec dword [ebp - 0x120]
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0052f334
mov eax, dword [ebp - 0x10]
call fcn.004a3d64
test al, al
jne 0x410ed0
mov word [ebp - 0x12c], 0x230
xor edx, edx
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xfc], edx
mov eax, 0x478
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x10]
call fcn.0041cce8
lea ecx, [ebp - 0xfc]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x17c]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x17c]
or byte [ebp - 0x17b], 8
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0xfc]
mov edx, 2
call fcn.0052f334
mov eax, dword [ebp - 0x10]
call fcn.004a3d88
test al, al
jne 0x410ed0
mov word [ebp - 0x12c], 0x23c
xor edx, edx
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], edx
mov eax, 0x404
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x10]
call fcn.0041cce8
lea ecx, [ebp - 0x100]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x17e]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x17e]
or byte [ebp - 0x17d], 2
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.0052f334
mov word [ebp - 0x12c], 0x248
xor ecx, ecx
lea edx, [ebp - 0x104]
mov dword [ebp - 0x104], ecx
mov eax, 0x3ee
inc dword [ebp - 0x120]
call fcn.0041cc78
lea ecx, [ebp - 0x104]
mov eax, dword [ecx]
push eax
push 2
push 0
lea edx, [ebp - 0x180]
push edx
call fcn.00524368
add esp, 0xc
lea ecx, [ebp - 0x180]
or byte [ebp - 0x17f], 1
mov eax, dword [0x55ad00]
pop edx
mov cx, word [ecx]
mov eax, dword [eax]
call fcn.00402ad0
dec dword [ebp - 0x120]
lea eax, [ebp - 0x104]
mov edx, 2
call fcn.0052f334
xor ebx, ebx
jmp 0x410ee6
inc ebx
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x410cf6
mov bl, 1
mov eax, dword [ebp - 0x140]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10c], esi
test esi, esi
je 0x410f23
mov eax, dword [esi]
mov dword [ebp - 0x108], eax
mov word [ebp - 0x12c], 0x260
mov edx, 3
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x12c], 0x254
mov edx, dword [ebp - 0x140]
xor eax, eax
mov dword [edx + 0x18], eax
mov edx, dword [0x55ad00]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x2f0]
mov eax, dword [eax + 0x218]
call fcn.00497804
mov word [ebp - 0x12c], 0x26c
mov edx, 0x532390
lea eax, [ebp - 0x110]
call fcn.0052f020
inc dword [ebp - 0x120]
mov ecx, dword [0x55ad00]
mov edx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2fc]
call fcn.004fb57c
dec dword [ebp - 0x120]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0052f334
mov ecx, dword [0x55ad00]
mov eax, dword [ecx]
mov esi, dword [eax + 0x2f8]
mov eax, esi
call fcn.00511188
mov edx, eax
mov eax, esi
call fcn.00511370
mov edx, dword [0x55af7c]
mov eax, dword [edx]
call fcn.004f08b4
mov edx, dword [0x55ad00]
mov eax, dword [edx]
call fcn.00402fe0
cmp dword [ebp - 0x154], 0
je 0x41100c
mov esi, dword [ebp - 0x154]
mov dword [ebp - 0x118], esi
test esi, esi
je 0x41100c
mov eax, dword [esi]
mov dword [ebp - 0x114], eax
mov word [ebp - 0x12c], 0x284
mov edx, 3
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x12c], 0x278
mov eax, ebx
mov edx, 2
push eax
lea eax, [ebp - 0x18]
dec dword [ebp - 0x120]
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x120]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0052f334
pop eax
mov edx, dword [ebp - 0x13c]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret