Function at 0x521dc7
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x7d14a7
call fcn.007a83c4
sub esp, 0x84
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
call fcn.00529642
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.00402e2e
mov eax, dword [ebp - 0x4c]
lea ecx, [eax + 0x14]
lea eax, [ebp - 0x1c]
push eax
call fcn.00402ee1
lea ecx, [ebp - 0x1c]
call fcn.00402f46
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0xc]
mov edx, esi
call fcn.00412a43
mov dword [esi + 8], eax
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x70]
call fcn.00403131
push esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
call fcn.00403131
push edi
push edi
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push dword [ebp + 0x10]
mov byte [ebp - 4], 3
call fcn.004038a0
mov byte [ebp - 4], 4
call fcn.004056d0
mov ecx, eax
call fcn.00402600
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00404a04
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.004037d0
cmp eax, edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edi
je 0x521eb1
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404545
cmp eax, edi
jge 0x521eb1
cmp eax, 0x80004002
je 0x521eb1
push eax
call fcn.007a760b
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 9
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x521ec9
push eax
call fcn.007a760b
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 8
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x521ee1
push eax
call fcn.007a760b
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 7
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x521ef9
push eax
call fcn.007a760b
push edi
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x375
mov ebx, 0x885138
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.004025dd
lea ecx, [ebp - 0x90]
push ecx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00404855
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.004037d0
cmp eax, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], edi
je 0x521f63
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call fcn.00404545
cmp eax, edi
jge 0x521f63
cmp eax, 0x80004002
je 0x521f63
push eax
call fcn.007a760b
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x521f7e
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xa1b
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xe
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0xf
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0xc], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x521fde
push eax
call fcn.007a760b
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp + 0xc]
push eax
lea ecx, [esi + 0xc]
call fcn.005299a7
push dword [ebp + 0xc]
lea eax, [ebp + 0x10]
push eax
mov ecx, esi
call fcn.004544f4
push eax
mov eax, dword [ebp - 0x4c]
lea ecx, [eax + 0x10]
mov byte [ebp - 4], 0x10
call fcn.004181c6
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0xd
je 0x522024
add eax, 0xfffffff4
push eax
call fcn.004318e9
pop ecx
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x726
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x11
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x12
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x18]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x20], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522090
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x728
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x13
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x14
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x24]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x2c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5220fd
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x727
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x16
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x30]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x38], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52216a
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x729
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x17
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x18
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x3c]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x44], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5221d7
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72a
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x19
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x1a
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x48]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x50], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522244
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72b
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x1c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x54]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x5c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5222b1
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x6be
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x1e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x60]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x68], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52231e
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x6bf
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x20
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x6c]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52238b
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72c
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x21
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x22
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov ebx, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x90]
mov cl, bl
call fcn.004a6ad9
mov dword [esi + 0x94], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5223fe
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72d
push eax
mov ecx, 0x885138
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x23
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x24
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x98]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0x9c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522474
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72e
mov ebx, 0x885138
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x25
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x26
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xa0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xa4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5224ec
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x72f
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x27
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x28
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xa8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xac], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52255f
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x730
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x29
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x2a
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xb0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xb4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5225d2
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x731
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x2c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xb8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xbc], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522645
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x732
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x2e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xc0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xc4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5226b8
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x733
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x30
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xc8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xcc], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52272b
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x735
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x31
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x32
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xd0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xd4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52279e
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x734
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x33
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x34
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xd8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xdc], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522811
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x736
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x35
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x36
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xe0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xe4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522884
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x737
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x37
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x38
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xe8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xec], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5228f7
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x738
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x39
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x3a
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xf0]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xf4], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52296a
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x739
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x3b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x3c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0xf8]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0xfc], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5229dd
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73a
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x3d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x3e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x100]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0x104], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522a50
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73b
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x3f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x40
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x108]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0x10c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522ac3
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73c
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x41
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x42
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x110]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0x114], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522b36
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xdcf
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x43
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x44
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x118]
mov ecx, edi
call fcn.004a6b0c
mov dword [esi + 0x11c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522ba9
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73d
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x45
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x46
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x78]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x80], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522c19
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73e
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x47
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x48
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x84]
mov ecx, edi
call fcn.0052a3ef
mov dword [esi + 0x8c], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
xor edi, edi
cmp eax, edi
pop ecx
jge 0x522c8e
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xa71
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x49
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x4a
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x174], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522cf1
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x7b2
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x4b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x4c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x178], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522d54
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xb31
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x4d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x4e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x17c], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522db7
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xb32
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x4f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x50
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x180], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522e1a
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xb33
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x51
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x52
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x184], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522e7d
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xcb6
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x53
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x54
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x18c], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x522ee0
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x73f
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x55
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x56
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x120]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x128], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522f52
push eax
call fcn.007a760b
push ecx
fld1
push ecx
fstp qword [esp]
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x646
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x57
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x58
call fcn.00431356
fstp qword [ebp - 0x30]
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.0052954c
fld qword [ebp - 0x30]
mov esi, eax
lea ecx, [esi + 0x130]
push ecx
push ecx
fstp qword [esp]
call fcn.004d75be
mov dword [esi + 0x140], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x522fd2
push eax
call fcn.007a760b
push ecx
fld1
push ecx
fstp qword [esp]
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x5e1
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x59
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x5a
call fcn.00431356
fstp qword [ebp - 0x30]
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.0052954c
fld qword [ebp - 0x30]
mov esi, eax
lea ecx, [esi + 0x148]
push ecx
push ecx
fstp qword [esp]
call fcn.004d75be
mov dword [esi + 0x158], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523052
push eax
call fcn.007a760b
push 0x64
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xbaa
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x5b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x5c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x15c]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x164], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5230c5
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xc8d
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x5d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x5e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov dword [eax + 0x188], esi
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523129
push eax
call fcn.007a760b
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xdcd
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x5f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x60
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.0052954c
mov esi, eax
lea edx, [esi + 0x168]
mov ecx, edi
call fcn.00412a43
mov dword [esi + 0x170], eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52319c
push eax
call fcn.007a760b
push 0x64
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfdb
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x61
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x62
call fcn.00412986
pop ecx
mov edi, eax
pop ecx
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5231f2
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfdc
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x63
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x64
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov word [eax + 0x190], si
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523256
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfdd
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x65
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x66
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov word [eax + 0x192], si
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5232ba
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfde
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x67
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x68
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov word [eax + 0x194], si
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52331e
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfdf
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x69
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x6a
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov word [eax + 0x196], si
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523382
push eax
call fcn.007a760b
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xfe0
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x6b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x6c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
mov word [eax + 0x198], si
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
xor edi, edi
cmp eax, edi
pop ecx
jge 0x5233e8
push eax
call fcn.007a760b
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x19c], edi
mov eax, dword [ebp + 0xc]
cdq
mov ecx, 0x2710
idiv ecx
cmp eax, 0xb5
jne 0x52343a
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
call fcn.005219bf
push dword [eax + 0x8c]
add eax, 0x84
push eax
call fcn.004b7261
cmp eax, edi
pop ecx
pop ecx
jne 0x52343a
push 0x818260
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 0x80004005
call fcn.007a83e3
mov eax, dword [ebp + 0xc]
cdq
mov ecx, 0x186a0
idiv ecx
cmp eax, 0x11
jne 0x5235ba
cmp dword [ebp - 0x18], edi
jne 0x52345d
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x20]
push eax
call fcn.00404962
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x6d
call fcn.004034b3
mov eax, dword [ebp - 0x20]
cmp eax, edi
mov byte [ebp - 4], 0x6f
je 0x523487
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
mov byte [ebp - 4], 0x70
mov dword [ebp - 0x1c], edi
cmp dword [ebp + 0x10], 0
jne 0x5234a8
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x60]
push edx
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x523569
mov edi, dword [ebp - 0x58]
push 0x375
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x885138
call fcn.006144e8
push dword [eax]
push edi
call fcn.007aad0b
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 0x2c]
inc bl
call fcn.00402616
test bl, bl
jne 0x523537
push 1
pop esi
cmp esi, 0xe
jg 0x523516
push edi
call fcn.007a8918
cmp dword [esi*4 + 0x870c7c], eax
pop ecx
jne 0x523513
mov ecx, esi
jmp 0x523518
inc esi
jmp 0x5234fa
xor ecx, ecx
test ecx, ecx
je 0x523554
mov eax, dword [ebp - 0x4c]
push 1
pop edx
shl edx, cl
mov ecx, dword [eax + 0x19c]
add eax, 0x19c
test ecx, edx
jne 0x523554
or edx, ecx
mov dword [eax], edx
lea eax, [ebp - 0x60]
push eax
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523498
push eax
call fcn.007a760b
jmp 0x523498
push 0x818260
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 0x80004005
call fcn.007a83e3
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x19c], 0
jne 0x52358a
push 0x818260
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], 0x80004005
call fcn.007a83e3
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 0x6f
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5235a2
push eax
call fcn.007a760b
mov eax, dword [ebp + 0x10]
test eax, eax
mov byte [ebp - 4], 0xd
je 0x5235b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0x885138
xor edi, edi
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1a0], edi
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1a4], edi
mov eax, dword [ebp + 0xc]
cdq
mov ecx, 0x2710
idiv ecx
cmp eax, 0xb4
jne 0x523783
mov eax, dword [ebp + 0xc]
cdq
mov ecx, 0x3e8
idiv ecx
cmp edx, 0x64
jge 0x523783
cmp dword [ebp - 0x18], edi
jne 0x523605
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
call fcn.00404962
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x71
call fcn.004034b3
mov eax, dword [ebp - 0x2c]
cmp eax, edi
mov byte [ebp - 4], 0x73
je 0x52362f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
mov byte [ebp - 4], 0x74
mov dword [ebp - 0x20], edi
cmp dword [ebp + 0x10], 0
jne 0x523650
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x60]
push edx
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x52372b
mov esi, dword [ebp - 0x58]
push 0x375
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x885138
call fcn.006144e8
push dword [eax]
push esi
call fcn.007aad0b
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 0x1c]
inc bl
call fcn.00402616
test bl, bl
jne 0x5236f9
push esi
call fcn.007a8918
pop ecx
mov ebx, eax
push 0x64
pop ecx
cdq
idiv ecx
push 1
pop eax
mov ecx, edx
xor edx, edx
call fcn.007a9960
mov esi, eax
mov edi, edx
mov eax, ebx
cdq
mov ecx, 0x2710
idiv ecx
cmp eax, 0x1f4
jne 0x523716
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x1a0]
mov ebx, dword [eax + 0x1a4]
lea ecx, [eax + 0x1a0]
mov eax, esi
and eax, edx
mov edx, edi
and edx, ebx
or eax, edx
jne 0x523716
or esi, dword [ecx]
or edi, ebx
mov dword [ecx], esi
mov dword [ecx + 4], edi
lea eax, [ebp - 0x60]
push eax
call fcn.00402b63
test eax, eax
pop ecx
jge 0x523640
push eax
call fcn.007a760b
jmp 0x523640
push 0x818260
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x3c], 0x80004005
call fcn.007a83e3
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x1a0]
add eax, 0x1a0
or ecx, dword [eax + 4]
jne 0x523753
push 0x818260
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], 0x80004005
call fcn.007a83e3
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 0x73
call fcn.00402b63
test eax, eax
pop ecx
jge 0x52376b
push eax
call fcn.007a760b
mov eax, dword [ebp + 0x10]
test eax, eax
mov byte [ebp - 4], 0xd
je 0x52377c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0x885138
xor edi, edi
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1a8], edi
mov eax, dword [ebp + 0xc]
cdq
mov ecx, 0x2710
idiv ecx
cmp eax, 0xb5
jne 0x523a40
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xae6
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x75
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x76
call fcn.00412986
pop ecx
mov esi, eax
pop ecx
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x5237f7
push eax
call fcn.007a760b
cmp esi, edi
je 0x523805
mov eax, dword [ebp - 0x4c]
or dword [eax + 0x1a8], 1
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xae5
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x77
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x78
call fcn.00412986
pop ecx
mov esi, eax
pop ecx
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x52385a
push eax
call fcn.007a760b
cmp esi, edi
je 0x523868
mov eax, dword [ebp - 0x4c]
or dword [eax + 0x1a8], 2
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xae7
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x79
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x7a
call fcn.00412986
pop ecx
mov esi, eax
pop ecx
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x5238bd
push eax
call fcn.007a760b
cmp esi, edi
je 0x5238d0
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1a8], 4
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xae8
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x7b
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x7c
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.004047f1
cmp esi, edi
je 0x52392c
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1a8], 0x20
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xae9
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x7d
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x7e
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.004047f1
cmp esi, edi
je 0x523988
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1a8], 0x40
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xaea
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x7f
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x80
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.004047f1
cmp esi, edi
je 0x5239e4
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1a8], 0x10
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0xaec
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x81
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x82
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.004047f1
cmp esi, edi
je 0x523a40
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1a8], 8
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x899
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x83
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x84
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
lea ecx, [ebp - 0x80]
mov dword [eax + 0x1ac], esi
mov byte [ebp - 4], 0xd
call fcn.004047f1
push edi
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x898
push eax
mov ecx, ebx
call fcn.006145b0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x85
call fcn.004025dd
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00404855
push eax
mov byte [ebp - 4], 0x86
call fcn.00412986
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.0052954c
lea ecx, [ebp - 0x80]
mov dword [eax + 0x1b0], esi
mov byte [ebp - 4], 0xd
call fcn.004047f1
lea ecx, [ebp - 0x50]
call fcn.0052954c
mov dword [eax + 0x1b8], edi
mov dword [eax + 0x1bc], edi
push dword [ebp + 0xc]
call fcn.0052a2cc
cmp eax, edi
pop ecx
je 0x523c89
lea ecx, [ebp - 0x18]
call fcn.004025dd
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.00404962
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x87
call fcn.004034b3
lea ecx, [ebp - 0x2c]
call fcn.004025c3
lea ecx, [ebp - 0x60]
call fcn.00527950
mov byte [ebp - 4], 0x8a
mov dword [ebp - 0x1c], edi
lea ecx, [ebp + 0x10]
call fcn.005294dc
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x60]
push edx
push 1
push eax
call dword [ecx + 0xc]
cmp eax, edi
jne 0x523c39
mov esi, dword [ebp - 0x58]
push 0x375
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
call fcn.006144e8
mov ecx, eax
mov byte [ebp - 4], 0x8b
call fcn.00410b4b
push eax
push esi
call fcn.007aad0b
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 0x20]
inc bl
mov byte [ebp - 4], 0x8a
call fcn.00402616
test bl, bl
jne 0x523c05
push esi
call fcn.007a8918
pop ecx
mov esi, eax
push 0x64
pop ecx
cdq
idiv ecx
push 1
pop eax
mov ecx, edx
xor edx, edx
call fcn.007a9960
push esi
mov ebx, eax
mov edi, edx
call fcn.0052a265
test eax, eax
pop ecx
je 0x523c19
lea ecx, [ebp - 0x50]
call fcn.0052954c
mov ecx, dword [eax + 0x1b8]
mov eax, dword [eax + 0x1bc]
and ecx, ebx
and eax, edi
or ecx, eax
jne 0x523c19
lea ecx, [ebp - 0x50]
call fcn.0052954c
or dword [eax + 0x1b8], ebx
add eax, 0x1b8
or dword [eax + 4], edi
lea ecx, [ebp - 0x60]
call fcn.00526be7
mov ebx, 0x885138
xor edi, edi
jmp 0x523b4a
push 0x80004005
lea ecx, [ebp - 0x2c]
call fcn.00523ce5
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push 0x818260
lea eax, [ebp - 0x44]
push eax
call fcn.007a83e3
lea ecx, [ebp - 0x50]
call fcn.0052954c
mov ecx, dword [eax + 0x1b8]
add eax, 0x1b8
or ecx, dword [eax + 4]
jne 0x523c71
push 0x80004005
lea ecx, [ebp - 0x24]
call fcn.00523ce5
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
push 0x818260
lea eax, [ebp - 0x48]
push eax
call fcn.007a83e3
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x89
call fcn.004047f1
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xd
call fcn.004025f3
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x50]
push eax
call fcn.0052952b
lea ecx, [ebp - 0x14]
call fcn.004025d0
lea ecx, [ebp - 0x18]
call fcn.004025d0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00529515
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0xc