Function at 0x47039a
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x4b0065
call fcn.004a51d0
sub esp, 0x4c0
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp + 0x20]
lea ecx, [ebp - 0x24]
push ecx
push 0x4b5408
mov eax, dword [esi]
push esi
mov dword [ebp - 4], ebx
call dword [eax]
mov edi, dword [ebp + 0xc]
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov eax, dword [edi + 4]
mov dword [ebp - 0x38], ebx
cmp eax, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x30], ebx
jbe 0x4704c3
mov eax, dword [edi]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax + ecx*4]
cmp byte [eax], bl
je 0x47043b
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
and ecx, edx
mov dword [ebp - 0x94], edx
cmp ecx, 0xffffffff
jne 0x470417
mov byte [ebp - 0xd], 1
jmp 0x470426
mov ecx, dword [eax + 0x18]
add dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x94]
adc dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
add dword [ebp - 0x4c], ecx
adc dword [ebp - 0x48], eax
add dword [ebp - 0x38], 1
adc dword [ebp - 0x34], ebx
jmp 0x4704ad
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [ecx]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x1b4]
push esi
call fcn.004689f9
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x144], eax
mov al, byte [esi + 0x74]
mov byte [ebp - 0x140], al
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x1b4]
push eax
mov byte [ebp - 4], 1
call fcn.0046baf0
test eax, eax
jne 0x47064b
lea ecx, [ebp - 0x1b4]
call fcn.00471acb
mov ecx, dword [ebp - 0x144]
xor esi, esi
add eax, ecx
lea ecx, [ebp - 0x1b4]
adc edx, esi
add dword [ebp - 0x20], eax
mov byte [ebp - 4], bl
adc dword [ebp - 0x1c], edx
call fcn.004688f2
mov esi, dword [ebp + 0x20]
add dword [ebp - 0x20], 0x4c
adc dword [ebp - 0x1c], ebx
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [edi + 4]
jb 0x4703f2
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
je 0x4704d3
mov eax, dword [eax + 4]
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], ebx
add dword [ebp - 0x20], 1
adc dword [ebp - 0x1c], ebx
cmp byte [ebp - 0xd], bl
jne 0x4704eb
push dword [ebp - 0x1c]
mov eax, dword [esi]
push dword [ebp - 0x20]
push esi
call dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x1c]
push esi
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0xf0], eax
call fcn.00472bdd
cmp dword [ebp - 0x214], ebx
mov byte [ebp - 4], 2
jne 0x470523
lea ecx, [ebp - 0x218]
call fcn.00441785
lea ecx, [ebp - 0x454]
call fcn.0046468b
lea eax, [ebp - 0x24c]
lea ecx, [ebp - 0x454]
push eax
mov byte [ebp - 4], 3
call fcn.0046474c
mov eax, dword [esi + 0x70]
cmp dword [ebp - 0x214], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov al, byte [eax]
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x29], al
je 0x470568
mov eax, dword [ebp - 0x218]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
xor esi, esi
cmp dword [ebp - 0x214], ebx
jbe 0x47058f
mov eax, dword [ebp - 0x218]
lea ecx, [ebp - 0x24c]
push dword [eax + esi*4]
call fcn.004411c9
inc esi
cmp esi, dword [ebp - 0x214]
jb 0x470572
cmp dword [ebp - 0x18], ebx
je 0x4705b4
cmp byte [ebp - 0x29], 0xe
jne 0x4705b4
mov ecx, dword [ebp - 0x18]
push 0xe
call fcn.0040e6b2
test eax, eax
jge 0x4705b4
mov ecx, dword [ebp - 0x18]
push 1
push 0xe
call fcn.0040e43c
mov esi, dword [ebp + 0x14]
cmp ebx, dword [ebp - 0x34]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
jb 0x4705d1
ja 0x4705cb
cmp eax, dword [ebp - 0x38]
jbe 0x4705d1
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jbe 0x4705e4
call fcn.0040a15a
cmp dword [ebp - 0x28], eax
jbe 0x4705e4
mov dword [ebp - 0x28], eax
push 0x40
pop edi
cmp dword [ebp - 0x14], edi
jbe 0x4705ef
mov dword [ebp - 0x14], edi
push 1
pop eax
cmp dword [ebp - 0x14], eax
seta byte [ebp - 0xd]
cmp dword [ebp - 0x34], ebx
ja 0x470608
jb 0x470605
cmp dword [ebp - 0x38], eax
ja 0x470608
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
jne 0x47065e
xor edi, edi
cmp dword [ebp - 0x214], ebx
jbe 0x470844
mov eax, dword [ebp - 0x218]
push 0xd
mov esi, dword [eax + edi*4]
mov ecx, esi
call fcn.0040e6b2
test eax, eax
jge 0x47063d
push dword [ebp - 0x14]
mov ecx, esi
push 0xd
call fcn.0040e41e
inc edi
cmp edi, dword [ebp - 0x214]
jb 0x47061b
jmp 0x470844
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], bl
call fcn.004688f2
jmp 0x47161b
cmp byte [ebp - 0x29], bl
jne 0x47066e
cmp byte [esi + 0x88], bl
jne 0x47066e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x18], ebx
je 0x470826
mov al, byte [ebp - 0x29]
cmp al, 0xc
jne 0x4706f8
mov ecx, dword [ebp - 0x18]
call fcn.0040efc9
cmp eax, ebx
jl 0x4706a0
cmp eax, 1
jge 0x470694
push 1
pop esi
jmp 0x4706ec
cmp eax, edi
jbe 0x47069c
mov esi, edi
jmp 0x4706ec
mov esi, eax
jmp 0x4706ec
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.004a53a0
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov edi, edx
call fcn.0044f2c7
push ebx
push eax
push edi
push esi
call fcn.004a53a0
add eax, 1
adc edx, ebx
push 0x40
mov dword [ebp - 0x34], edx
pop esi
jne 0x4706d9
cmp eax, esi
jae 0x4706d9
mov esi, eax
cmp esi, dword [ebp - 0x14]
jbe 0x4706e1
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push esi
push 0xd
call fcn.0040e41e
mov eax, dword [ebp - 0x14]
xor edx, edx
div esi
jmp 0x470823
cmp al, 0x5f
jne 0x47079e
mov ecx, dword [ebp - 0x18]
push 1
pop edi
mov dword [ebp - 0x94], edi
call fcn.0040efc9
mov esi, eax
cmp esi, ebx
jl 0x47071f
cmp esi, edi
jle 0x470698
mov ecx, dword [ebp - 0x18]
call fcn.0040efef
test eax, eax
je 0x470735
mov dword [ebp - 0x94], 2
cmp esi, ebx
jge 0x4706ec
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.004a53a0
mov ecx, dword [ebp - 0x18]
mov edi, eax
mov dword [ebp - 0x48], edx
call fcn.0044816a
mov esi, eax
mov dword [ebp - 0x34], edx
mov edx, esi
push 1
and edx, dword [ebp - 0x34]
xor ecx, ecx
pop eax
cmp edx, 0xffffffff
je 0x47077f
push dword [ebp - 0x34]
push esi
push dword [ebp - 0x48]
push edi
call fcn.004a53a0
mov ecx, edx
add eax, 1
adc ecx, ebx
cmp ecx, ebx
mov edx, 0x100
ja 0x470790
jb 0x47078e
cmp eax, edx
jae 0x470790
mov edx, eax
imul edx, dword [ebp - 0x94]
mov esi, edx
jmp 0x4706d9
cmp al, 8
je 0x4707dd
cmp al, 9
je 0x4707dd
cmp al, 0x62
je 0x4707dd
cmp al, 0xe
jne 0x470826
mov ecx, dword [ebp - 0x18]
call fcn.0040ef9c
mov ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
cmp eax, 1
mov dword [ebp - 0x14], eax
jbe 0x470826
cmp byte [esi + 9], bl
je 0x470826
cmp byte [esi + 8], bl
jne 0x470826
mov ecx, dword [ebp - 0x18]
push 1
call fcn.0040ee0c
jmp 0x470804
cmp dword [ebp - 0x14], 1
jbe 0x470826
cmp byte [esi + 9], bl
je 0x470826
cmp byte [esi + 8], bl
jne 0x470826
cmp byte [ebp - 0x29], 0x62
jne 0x4707fd
mov ecx, dword [ebp - 0x18]
call fcn.0044f324
jmp 0x470804
mov eax, 0x400000
xor edx, edx
add eax, 0x2000000
adc edx, ebx
push edx
push eax
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.004a53a0
cmp edx, ebx
ja 0x470826
jb 0x470823
cmp eax, dword [ebp - 0x14]
jae 0x470826
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jbe 0x470831
mov dword [ebp - 0x14], eax
push 1
pop eax
cmp dword [ebp - 0x14], eax
ja 0x47083f
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x14], eax
cmp byte [ebp - 0xd], bl
jne 0x4708ab
push dword [ebp - 0x24]
lea eax, [ebp - 0xf4]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x24c]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004722a9
mov esi, eax
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x471553
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x471553
mov esi, dword [ebp - 0x14]
cmp esi, 1
jae 0x4708b9
push 1
pop esi
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 0x74]
call fcn.0044aa52
push 0x10
mov byte [ebp - 4], 4
call fcn.00401e6b
cmp eax, ebx
pop ecx
je 0x4708e1
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ebx
mov dword [eax], 0x4b8714
mov edi, eax
jmp 0x4708e3
xor edi, edi
cmp edi, ebx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x3c], edi
je 0x4708f3
mov eax, dword [edi]
push edi
call dword [eax + 4]
push 1
mov ecx, edi
push dword [ebp + 0x20]
mov byte [ebp - 4], 5
call fcn.0046f63c
lea ecx, [ebp - 0x13c]
call fcn.00472c72
push dword [edi + 0xc]
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 6
push esi
call fcn.00410cdc
lea ecx, [ebp - 0xc0]
push 0x10000
call fcn.00471960
lea ecx, [ebp - 0xb4]
call fcn.0049ad80
mov dword [ebp - 0x9c], ebx
lea eax, [ebp - 0xc0]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 7
mov dword [ebp - 0x8c], eax
call fcn.0044aa52
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472cc4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.0044aa52
or dword [ebp - 0xc4], 0xffffffff
push esi
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xa
call fcn.0044abcd
xor edx, edx
lea ecx, [ebp - 0xec]
push esi
mov dword [ebp - 0xcc], esi
call fcn.0049ac90
cmp eax, ebx
je 0x470a1f
jle 0x4709b3
and eax, 0xffff
or eax, 0x80070000
lea ecx, [ebp - 0x64]
mov esi, eax
mov byte [ebp - 4], 9
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x470a0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
jmp 0x470874
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov eax, esi
push ebx
shl eax, 9
push eax
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xb
call fcn.0040de89
mov edi, eax
cmp edi, ebx
jne 0x471678
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x30], ebx
cmp dword [edi + 4], ebx
jbe 0x470a99
lea ecx, [ebp - 0x184]
call fcn.00471ed8
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.0044c671
lea ecx, [ebp - 0x88]
push dword [ebp - 0x34]
call fcn.00473039
mov byte [ebp - 4], 0xb
push dword [ebp - 0x184]
call fcn.00401e9f
inc dword [ebp - 0x30]
pop ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [edi + 4]
jb 0x470a53
cmp esi, ebx
jbe 0x470aa8
lea ecx, [ebp - 0x64]
call fcn.00472e45
dec esi
jne 0x470a9d
xor esi, esi
cmp dword [ebp - 0x14], ebx
jbe 0x470b81
mov eax, dword [ebp - 0x64]
mov edi, dword [eax + esi*4]
lea eax, [ebp - 0x24c]
push eax
lea ecx, [edi + 0x28]
mov dword [edi + 0xc], esi
call fcn.0046474c
mov ecx, edi
call fcn.00471e21
cmp eax, ebx
mov dword [ebp - 0x34], eax
jne 0x470c1d
push 0x50
call fcn.00401e6b
pop ecx
mov dword [ebp - 0x34], eax
cmp eax, ebx
mov byte [ebp - 4], 0xd
je 0x470b00
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, eax
call fcn.00471a05
jmp 0x470b02
xor eax, eax
mov ecx, eax
mov byte [ebp - 4], 0xb
mov dword [edi + 0x1c], eax
call fcn.004719bf
cmp eax, ebx
mov dword [ebp - 0x34], eax
jne 0x470cc1
push dword [edi + 0x1c]
lea ecx, [edi + 0x20]
call fcn.00459cf5
push 0x10
call fcn.00401e6b
cmp eax, ebx
pop ecx
je 0x470b3d
mov dword [eax + 4], ebx
mov dword [eax], 0x4b8704
jmp 0x470b3f
xor eax, eax
push eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x14], eax
call fcn.00459cf5
mov eax, dword [edi + 0x14]
lea ecx, [ebp - 0x13c]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], esi
lea eax, [ebp - 0xec]
mov ecx, edi
mov dword [edi + 8], eax
call fcn.00471e38
mov edi, eax
cmp edi, ebx
jne 0x471678
inc esi
cmp esi, dword [ebp - 0x14]
jb 0x470ab3
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
or dword [ebp - 0x90], 0xffffffff
cmp eax, ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x30], ebx
jbe 0x47146e
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x54], ecx
jae 0x470fd9
cmp dword [ebp - 0x68], eax
jae 0x470fd9
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x68]
shl eax, 2
mov ecx, dword [ecx]
inc dword [ebp - 0x68]
mov edi, dword [ecx + eax]
cmp byte [edi], bl
je 0x47145c
lea ecx, [ebp - 0x1b4]
call fcn.0046b665
mov byte [ebp - 0x140], bl
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0xe
call fcn.00471af4
cmp byte [edi + 1], bl
mov byte [ebp - 4], 0xf
je 0x470d65
cmp byte [edi + 2], bl
je 0x470dd9
push dword [ebp - 0x310]
mov byte [ebp - 4], 0xe
call fcn.00401e9f
pop ecx
lea ecx, [ebp - 0x39c]
call fcn.004688f2
jmp 0x470fca
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x470c7f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x470cb9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
jmp 0x471555
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x470d23
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x470d5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
jmp 0x471555
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 8]
mov ecx, dword [ecx]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x1b4]
push esi
call fcn.00472b1b
mov eax, dword [esi + 0x70]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x144], eax
mov al, byte [esi + 0x74]
mov byte [ebp - 0x140], al
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046baf0
test eax, eax
jne 0x471566
lea eax, [ebp - 0x1b4]
lea ecx, [ebp - 0x39c]
push eax
call fcn.00472b1b
mov al, byte [edi + 2]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 0xd], al
call fcn.0046e687
cmp al, byte [ebp - 0xd]
jne 0x471566
cmp byte [ebp - 0xd], bl
jmp 0x470bf7
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x78]
mov esi, dword [eax + 8]
add esi, 0x3c
push esi
mov dword [ebp - 0x28], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x20]
lea edx, [ebp - 0x18]
push edx
mov byte [ebp - 4], 0x11
push dword [edi + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
cmp eax, 1
mov dword [ebp - 0x40], eax
jne 0x470e79
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
add eax, 0x1e
adc ecx, ebx
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
adc dword [ebp - 0x1c], ecx
push dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
push dword [ebp - 0x20]
call fcn.0046f51c
mov eax, dword [ebp + 0x20]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edi, eax
cmp edi, ebx
jne 0x471636
mov eax, dword [ebp - 0x34]
push esi
mov byte [eax + 0x20], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x470bfd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x470bfd
cmp dword [ebp - 0x40], ebx
jne 0x47171b
cmp dword [ebp - 0x18], ebx
je 0x471801
lea eax, [ebp - 0xf4]
mov ecx, dword [ebp + 0x10]
push eax
mov edx, edi
push dword [ebp + 0x20]
push dword [ebp - 0x18]
call fcn.0047212f
mov eax, dword [ebp + 0x20]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
cmp eax, ebx
mov dword [ebp - 0x40], eax
jne 0x4718e9
push esi
mov byte [ebp - 4], 0x10
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x28], ebx
jbe 0x470ee7
mov edx, eax
mov ecx, dword [edx]
cmp byte [ecx + 0x108], bl
jne 0x470ee7
inc dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
add edx, 4
cmp ecx, dword [ebp - 0x14]
jb 0x470ecf
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x28], ecx
je 0x4718f5
mov ecx, dword [ebp - 0x28]
mov esi, dword [eax + ecx*4]
mov byte [esi + 0x108], bl
push dword [ebp - 0x18]
lea ecx, [esi + 0x24]
call fcn.00459cf5
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x40]
push edx
push 0x4b52c8
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 0x12
call dword [ecx]
cmp dword [ebp - 0x40], ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x10
sete byte [ebp - 0xd]
call fcn.0044858f
mov ecx, dword [ebp - 0x34]
mov al, byte [ebp - 0xd]
mov byte [ecx + 0x21], al
lea ecx, [ebp - 0x18]
call fcn.00427734
mov ecx, dword [esi + 0x1c]
call fcn.00410a3b
mov eax, dword [esi + 0x14]
push dword [eax + 8]
mov ecx, dword [eax + 0xc]
call fcn.00410d8a
mov eax, dword [ebp - 0x68]
lea ecx, [esi + 4]
dec eax
mov dword [esi + 0x10c], eax
mov al, byte [ebp - 0xd]
mov byte [esi + 0x109], al
mov al, byte [ebp + 0x18]
mov byte [esi + 0x10a], al
mov eax, dword [edi + 0x14]
mov dword [esi + 0x110], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x118], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x11c], eax
mov al, byte [edi + 6]
mov byte [esi + 0x10b], al
call fcn.0049abb0
lea ecx, [ebp - 0x58]
push dword [ebp - 0x28]
call fcn.0045951f
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.0044858f
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0xe
call fcn.00472ae2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1b4]
jmp 0x471457
mov eax, dword [ebp - 0x30]
mov edi, eax
mov eax, dword [ebp - 0x88]
shl edi, 2
mov eax, dword [edi + eax]
cmp byte [eax + 0x20], bl
je 0x470ff7
inc dword [ebp - 0x30]
jmp 0x47145c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x4cc]
mov eax, dword [eax]
mov esi, dword [edi + eax]
call fcn.00471b19
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], 0x13
call fcn.00471af4
cmp byte [esi + 1], bl
mov byte [ebp - 4], 0x14
je 0x471026
cmp byte [esi], bl
jne 0x47106d
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
mov ecx, dword [ecx]
push dword [ecx + eax*4]
lea ecx, [ebp - 0x4cc]
call fcn.00472afa
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x4cc]
push eax
call fcn.0046baf0
test eax, eax
jne 0x471921
lea eax, [ebp - 0x4cc]
lea ecx, [ebp - 0x304]
push eax
call fcn.00472b1b
cmp byte [esi], bl
je 0x4713e0
cmp byte [esi + 2], bl
je 0x47108a
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x304]
push eax
push esi
call fcn.004720fc
jmp 0x471404
mov eax, dword [ebp - 0x88]
mov edi, dword [edi + eax]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], edi
cmp byte [edi + 0x23], bl
je 0x471182
cmp dword [ebp - 0x90], eax
jge 0x4710b0
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x304]
mov edx, esi
mov esi, dword [ebp + 0x14]
push eax
mov al, byte [edi + 0x3f]
mov ecx, esi
push eax
call fcn.00471b29
cmp byte [esi + 0x88], bl
je 0x4710d9
cmp byte [esi + 0x68], bl
je 0x4710d9
push 1
pop edx
jmp 0x4710db
xor edx, edx
lea eax, [ebp - 0x304]
lea ecx, [edi + 0x28]
push eax
mov al, byte [esi + 0x69]
push eax
call fcn.00471d77
mov ecx, dword [ebp - 0x44]
call fcn.0046e95c
mov esi, eax
cmp esi, ebx
jne 0x471936
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x304]
push ebx
push eax
mov ecx, esi
call fcn.0046eca4
mov dword [ebp - 0x48], ebx
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x15
call fcn.0046f402
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0xbc]
call fcn.0040df95
mov al, byte [ebp - 0x304]
shr al, 3
test al, 1
je 0x471151
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
call fcn.0046eec1
jmp 0x471163
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x2f0]
add dword [esi + 0x38], eax
adc dword [esi + 0x3c], ecx
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.0040df73
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.0044858f
jmp 0x47140c
cmp dword [ebp - 0x90], eax
jge 0x47122e
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x26c]
push eax
mov al, byte [edi + 0x21]
push dword [esi + 0x1c]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], ebx
push dword [esi + 0x18]
push dword [ebp + 0x18]
push eax
call fcn.0046497c
cmp eax, ebx
jne 0x471934
mov eax, dword [ebp - 0x255]
lea ecx, [ebp - 0x304]
mov byte [edi + 0x22], al
mov edi, dword [ebp + 0x14]
push ecx
push eax
mov edx, esi
mov ecx, edi
call fcn.00471b29
cmp byte [edi + 0x88], bl
je 0x4711f6
cmp byte [edi + 0x68], bl
je 0x4711f6
push 1
pop edx
jmp 0x4711f8
xor edx, edx
lea eax, [ebp - 0x304]
lea ecx, [ebp - 0x26c]
push eax
mov al, byte [edi + 0x69]
push eax
call fcn.00471d77
mov ecx, dword [ebp - 0x44]
call fcn.0046e973
cmp eax, ebx
jne 0x471934
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x304]
push ebx
push eax
call fcn.0046eca4
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
mov eax, dword [eax]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 0x1c]
cmp byte [eax + 0x15], bl
jne 0x471286
mov dword [ebp - 0x94], ebx
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x16
call fcn.0046f3bb
mov ecx, dword [edi + 0x1c]
push dword [ebp - 0x94]
call fcn.004719e6
mov eax, dword [edi + 0x1c]
lea ecx, [eax + 0x1c]
mov byte [eax + 0x15], 1
call fcn.0049abb0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x14
call fcn.0044858f
mov ecx, dword [ebp - 0xec]
call fcn.0049aa90
cmp eax, ebx
jne 0x471928
lea ecx, [ebp - 0xec]
call fcn.00471df9
cmp eax, ebx
mov dword [ebp - 0x34], eax
jl 0x471959
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + ecx*4]
lea ecx, [edi + 0x24]
call fcn.00427734
mov eax, dword [edi + 0xe0]
mov byte [edi + 0x108], 1
cmp eax, ebx
jne 0x471934
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x54]
je 0x471959
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x34]
je 0x4712f6
inc dword [ebp - 0x28]
add eax, 4
jmp 0x4712db
push dword [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00434ded
cmp dword [ebp - 0x28], ebx
jne 0x4713ae
mov eax, dword [ebp - 0x30]
cmp dword [edi + 0x10c], eax
jne 0x471959
mov eax, dword [ebp - 0x40]
mov al, byte [eax + 0x22]
cmp al, byte [edi + 0xff]
jne 0x471959
mov ecx, dword [edi + 0x1c]
call fcn.00410a7c
cmp eax, ebx
jne 0x471934
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x34], eax
lea ecx, [eax + 0x4c]
call fcn.00427734
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 0x48]
call fcn.00427734
lea eax, [ebp - 0x304]
mov edx, esi
mov esi, dword [ebp + 0x14]
push eax
mov al, byte [edi + 0xff]
mov ecx, esi
push eax
call fcn.00471b29
cmp byte [esi + 0x88], bl
je 0x471382
mov eax, esi
cmp byte [eax + 0x68], bl
je 0x471382
push 1
pop edx
jmp 0x471384
xor edx, edx
lea eax, [ebp - 0x304]
lea ecx, [edi + 0xe8]
push eax
mov eax, dword [ebp + 0x14]
mov al, byte [eax + 0x69]
push eax
call fcn.00471d77
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x304]
push eax
call fcn.0046eec1
jmp 0x47140c
mov eax, dword [edi + 0x10c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 0x1c]
push eax
mov dword [ebp - 0x34], eax
call fcn.00410a5f
mov eax, dword [ebp - 0x34]
lea esi, [edi + 0xe8]
push 8
lea edi, [eax + 0x28]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [eax + 0x23], 1
jmp 0x47143e
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x44]
push dword [ebp - 0x24]
lea eax, [ebp - 0x304]
push dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x4cc]
push esi
push eax
call fcn.00471f4a
cmp eax, ebx
jne 0x471934
lea ecx, [ebp - 0x74]
call fcn.0044c671
lea eax, [ebp - 0x304]
lea ecx, [ebp - 0x74]
push eax
call fcn.00473087
add dword [ebp - 0x20], 0x1e
mov eax, dword [ebp - 0x78]
adc dword [ebp - 0x1c], ebx
push dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
push dword [ebp - 0x20]
call fcn.0046f53b
inc dword [ebp - 0x30]
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], 0x13
call fcn.00472ae2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4cc]
call fcn.004688f2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp dword [ebp - 0x30], eax
jb 0x470b99
mov edi, dword [ebp + 0xc]
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x13c]
call fcn.00410dc1
cmp eax, ebx
jne 0x4714bf
push dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x74]
push eax
call fcn.0046f1d5
cmp eax, ebx
jne 0x4714bf
mov eax, dword [edi + 4]
imul eax, eax, 0x2e
inc eax
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
adc dword [ebp - 0x1c], ebx
push dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
push dword [ebp - 0x20]
call fcn.0046f53b
lea ecx, [ebp - 0x13c]
push ebx
push ebx
push ebx
call fcn.00410dc1
mov esi, eax
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 4
call fcn.0044858f
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0044858f
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x1c
push dword [ebp - 0x310]
mov byte [ebp - 4], 0xe
call fcn.00401e9f
pop ecx
lea ecx, [ebp - 0x39c]
call fcn.004688f2
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0xb
call fcn.004688f2
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4715f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x47162c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004001
jmp 0x471555
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x47164e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x310]
mov byte [ebp - 4], 0xe
call fcn.00401e9f
pop ecx
lea ecx, [ebp - 0x39c]
call fcn.004688f2
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0xb
call fcn.004688f2
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4716da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x471714
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x471555
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x471733
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x310]
mov byte [ebp - 4], 0xe
call fcn.00401e9f
pop ecx
lea ecx, [ebp - 0x39c]
call fcn.004688f2
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0xb
call fcn.004688f2
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4717bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x4717f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
jmp 0x471555
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x471819
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x310]
mov byte [ebp - 4], 0xe
call fcn.00401e9f
pop ecx
lea ecx, [ebp - 0x39c]
call fcn.004688f2
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0xb
call fcn.004688f2
push dword [ebp - 0x58]
call fcn.00401e9f
pop ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x64]
call fcn.00471e60
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.00472ce2
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00471f01
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00471973
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00472c97
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4718a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00472f68
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 2
call fcn.00464819
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], bl
call fcn.00464887
mov eax, dword [ebp - 0x24]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x4718df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80070057
jmp 0x471555
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x40]
jmp 0x4718fa
mov esi, 0x80004005
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.0044858f
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0xe
call fcn.00472ae2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1b4]
jmp 0x47194f
mov esi, 0x80004001
jmp 0x471936
jle 0x471934
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], 0x13
call fcn.00472ae2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4cc]
call fcn.004688f2
jmp 0x4714c1
mov esi, 0x80004005
jmp 0x471936