Function at 0x4da566
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push ebx
mov eax, ecx
mov ebx, edx
push esi
mov esi, 0x800000
mov dword [ebp - 0x20], ebx
push edi
mov dword [ebp - 0x34], eax
test dword [eax + 0x150], esi
je 0x4da59d
mov ecx, ebx
call fcn.004da4e1
or dword [ebx + 0x150], esi
mov al, 1
jmp 0x4db8a9
push 0x27
pop ecx
lea esi, [eax + 0x148]
push 0x27
lea edi, [ebp - 0xf0]
rep movsd dword es:[edi], dword [esi]
pop ecx
lea esi, [ebx + 0x148]
lea edi, [ebp - 0x1d8]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x238]
mov eax, dword [ebp - 0x84]
push 0x12
pop ecx
lea edi, [ebp - 0x220]
mov dword [ebp - 0x38], eax
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x238]
mov ebx, eax
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x138]
push 0x12
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], eax
xor esi, esi
shr ebx, 6
and eax, 1
and ebx, 0xffffff01
or eax, esi
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
jne 0x4da61a
and eax, 1
or eax, esi
je 0x4da639
mov esi, dword [ebp - 0x34]
mov eax, dword [esi + 0x74]
cmp eax, 0x10
ja 0x4da628
push 0x10
pop eax
mov edi, edx
cmp eax, dword [edi + 0x74]
je 0x4da63e
mov ecx, 0x414988
jmp 0x4db8a0
mov esi, dword [ebp - 0x34]
mov edi, edx
movzx ecx, word [edi + 0x9a]
movzx edx, word [esi + 0x9a]
mov eax, ecx
xor eax, edx
test eax, 0x800
je 0x4da661
mov ecx, 0x41b03c
jmp 0x4db8a0
mov eax, 0x200
test eax, edx
je 0x4da671
or ecx, eax
movzx ecx, cx
jmp 0x4da677
and ecx, 0xfdff
mov word [edi + 0x9a], cx
mov edx, esi
mov ecx, edi
call fcn.00519b4c
test al, al
jne 0x4da695
mov ecx, 0x41b050
jmp 0x4db8a0
mov eax, dword [ebp - 0x21c]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x14], eax
and ecx, 4
mov dword [ebp - 0x18], 1
mov eax, edx
mov dword [ebp - 0x28], ecx
or eax, ecx
jne 0x4da6b8
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x134]
mov ecx, eax
mov dword [ebp - 0x24], eax
and ecx, 4
mov eax, edx
or eax, ecx
je 0x4da6d1
xor eax, eax
inc eax
jmp 0x4da6d3
mov eax, edx
cmp dword [ebp - 0x18], eax
jne 0x4db89b
mov eax, edx
or eax, dword [ebp - 0x28]
je 0x4da6fc
mov ax, word [esi + 0x9a]
xor ax, word [edi + 0x9a]
bt ax, 0xc
jb 0x4db89b
test byte [ebp - 0xf0], 0x40
jne 0x4da70e
test byte [ebp - 0x1d8], 0x40
je 0x4da726
mov eax, dword [esi + 0x6c]
cmp eax, dword [edi + 0x6c]
jne 0x4db894
mov eax, dword [esi + 0x70]
cmp eax, dword [edi + 0x70]
jne 0x4db894
mov ecx, dword [edi + 0x8bc]
mov eax, ecx
xor eax, dword [esi + 0x8bc]
test al, 1
je 0x4da742
mov ecx, 0x41b094
jmp 0x4db8a0
mov eax, ecx
xor eax, dword [esi + 0x8bc]
test al, 2
je 0x4da758
mov ecx, 0x41b0a8
jmp 0x4db8a0
mov eax, ecx
xor eax, dword [esi + 0x8bc]
test al, 8
je 0x4da76e
mov ecx, 0x41b0c8
jmp 0x4db8a0
xor ecx, dword [esi + 0x8bc]
test cl, 4
je 0x4da783
mov ecx, 0x41b0f4
jmp 0x4db8a0
mov eax, dword [ebp - 0x1d8]
xor eax, dword [ebp - 0xf0]
bt eax, 0xe
jae 0x4da79f
mov ecx, 0x41b124
jmp 0x4db8a0
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x19c]
je 0x4da7b7
mov ecx, 0x41b158
jmp 0x4db8a0
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x3c], eax
xor eax, ecx
mov dword [ebp - 0x28], ecx
test eax, 0x800
je 0x4da7dc
mov ecx, 0x41b164
jmp 0x4db8a0
mov eax, dword [ebp - 0xec]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x30], eax
shr ecx, 0x14
shr eax, 0x14
and ecx, 1
and eax, 1
cmp ecx, eax
jne 0x4db88d
test ecx, ecx
jne 0x4da8bd
mov eax, dword [esi + 0x894]
mov dword [ebp - 8], eax
test eax, eax
jne 0x4da82d
cmp dword [edi + 0x894], edx
je 0x4da8bd
test eax, eax
je 0x4da8bd
xor esi, esi
mov edx, dword [edi + 0x894]
mov ecx, dword [eax + 4]
call fcn.004ed482
mov ecx, dword [ebp - 8]
lea edx, [edi + 0x888]
mov dword [ebp - 4], eax
mov ecx, dword [ecx + 4]
call fcn.00434cfe
mov ecx, eax
mov eax, dword [ebp - 8]
test byte [eax + 8], 4
je 0x4da882
test ecx, ecx
je 0x4da872
mov ecx, dword [ecx]
call fcn.004ed3b9
test eax, eax
je 0x4db88d
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
lea edx, [edi + 0x888]
call fcn.004ed3e5
jmp 0x4da8a8
test byte [eax + 8], 8
je 0x4da8ab
test ecx, ecx
jne 0x4da899
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4da8dc
test byte [ecx + 8], 4
jne 0x4da8dc
mov ecx, dword [eax + 4]
lea edx, [edi + 0x888]
push esi
call fcn.0045c120
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 8], eax
test eax, eax
jne 0x4da82f
mov esi, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x1d8]
mov eax, ecx
xor eax, dword [ebp - 0xf0]
test eax, 0x10000
je 0x4da8e6
mov ecx, 0x41b1b4
jmp 0x4db8a0
mov ecx, 0x41b19c
jmp 0x4db8a0
mov eax, ecx
xor eax, dword [ebp - 0xf0]
test eax, 0x40000
je 0x4da8ff
mov ecx, 0x41b1d0
jmp 0x4db8a0
mov eax, dword [ebp - 0xc]
mov ecx, 0x200000
and eax, ecx
or eax, edx
jne 0x4da916
mov eax, dword [ebp - 0x10]
and eax, ecx
or eax, edx
je 0x4da931
lea ecx, [ebp - 0x114]
call fcn.00519b71
test al, al
jne 0x4da92f
mov ecx, 0x41b1ec
jmp 0x4db8a0
xor edx, edx
mov ax, word [ebp - 0x80]
movzx ecx, word [edi + 0x52]
mov word [edi + 0x1b8], ax
movzx eax, word [esi + 0x52]
mov dword [ebp - 4], eax
mov eax, ecx
xor eax, dword [ebp - 4]
test eax, 0x2000
je 0x4da95d
mov ecx, 0x406274
jmp 0x4db8a0
movzx eax, word [esi + 0x52]
xor ecx, eax
test ecx, 0x1000
je 0x4da975
mov ecx, 0x41b200
jmp 0x4db8a0
mov eax, dword [edi + 0xb18]
cmp eax, dword [esi + 0xb18]
jne 0x4db886
mov ecx, dword [edi + 0xb10]
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x4da9e6
lea eax, [esi + 0xb10]
mov ecx, dword [ecx + 4]
mov edx, eax
call fcn.0050b663
test eax, eax
je 0x4db886
push dword [eax + 8]
mov eax, dword [ebp - 8]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4db886
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
inc eax
cmp eax, dword [edi + 0xb18]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 4], eax
lea eax, [esi + 0xb10]
mov dword [ebp - 8], ecx
jb 0x4da99d
xor edx, edx
mov eax, dword [ebp - 0x1d8]
xor eax, dword [ebp - 0xf0]
test eax, 0x200000
je 0x4daa03
mov ecx, 0x41b22c
jmp 0x4db8a0
mov ax, word [esi + 0x52]
xor ax, word [edi + 0x52]
bt ax, 0xe
jae 0x4daa1c
mov ecx, 0x41b23c
jmp 0x4db8a0
movzx ecx, word [esi + 0x9a]
movzx eax, word [edi + 0x9a]
xor eax, ecx
mov dword [ebp - 8], ecx
test eax, 0x2000
je 0x4daa40
mov ecx, 0x41b258
jmp 0x4db8a0
mov ecx, dword [ebp - 0xc]
and ecx, 4
mov dword [ebp - 4], 1
mov eax, ecx
or eax, edx
jne 0x4daa56
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, 4
or eax, edx
je 0x4daa65
xor eax, eax
inc eax
jmp 0x4daa67
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db87f
or ecx, edx
je 0x4daa86
movzx eax, word [edi + 0x9a]
xor al, byte [ebp - 8]
test al, 0x40
jne 0x4db87f
mov eax, dword [ebp - 0xc]
push 8
pop ecx
and eax, ecx
or eax, edx
mov eax, dword [ebp - 0x10]
je 0x4daacc
and eax, ecx
or eax, edx
je 0x4daade
push dword [ebp - 0x128]
push dword [ebp - 0x210]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x4daade
lea ecx, [edi + 0x958]
call fcn.00508bc0
test al, al
je 0x4daae8
mov ecx, 0x41b294
jmp 0x4db8a0
and eax, ecx
or eax, edx
je 0x4daab3
mov eax, dword [ebp - 0x130]
and eax, ecx
or eax, edx
jne 0x4daab3
mov ecx, 0x41b288
jmp 0x4db8a0
mov ecx, dword [ebp - 0x14]
xor edx, edx
and ecx, 0x20
mov dword [ebp - 4], 1
mov eax, edx
or eax, ecx
jne 0x4dab00
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x24]
mov eax, edx
and ecx, 0x20
or eax, ecx
je 0x4dab11
xor eax, eax
inc eax
jmp 0x4dab13
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db878
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x1c0]
jne 0x4db878
mov eax, dword [ebp - 0xc]
and eax, 0x10
or eax, edx
je 0x4dab3d
xor ecx, ecx
inc ecx
jmp 0x4dab3f
mov ecx, edx
mov eax, dword [ebp - 0x10]
and eax, 0x10
or eax, edx
je 0x4dab4e
xor eax, eax
inc eax
jmp 0x4dab50
mov eax, edx
cmp ecx, eax
jne 0x4db871
mov eax, dword [esi + 0x78]
cmp eax, dword [edi + 0x78]
jne 0x4db871
mov ecx, dword [ebp - 0xc]
and ecx, 0x20
mov dword [ebp - 4], 1
mov eax, ecx
or eax, edx
jne 0x4dab7a
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, 0x20
or eax, edx
je 0x4dab89
xor eax, eax
inc eax
jmp 0x4dab8b
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db86a
or ecx, edx
je 0x4dabaf
mov eax, dword [ebp - 0x1d8]
xor eax, dword [ebp - 0xf0]
test eax, 0x40000000
jne 0x4db86a
mov eax, dword [ebp - 0xc]
and eax, 0x20000000
or eax, edx
je 0x4dabc0
xor ecx, ecx
inc ecx
jmp 0x4dabc2
mov ecx, edx
mov eax, dword [ebp - 0x10]
and eax, 0x20000000
or eax, edx
je 0x4dabd3
xor eax, eax
inc eax
jmp 0x4dabd5
mov eax, edx
cmp ecx, eax
jne 0x4db863
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x1bc]
jne 0x4db863
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0x184]
jne 0x4db85c
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x1b8]
jne 0x4db85c
mov eax, dword [esi + 0xa70]
cmp eax, dword [edi + 0xa70]
ja 0x4dac66
mov dword [ebp - 8], edx
test eax, eax
je 0x4dac82
mov ecx, edx
mov dword [ebp - 4], edx
cmp dword [edi + 0xa70], edx
jbe 0x4dac66
mov eax, dword [edi + 0xa6c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0xa6c]
push ecx
mov ecx, dword [ebp - 8]
push dword [eax + ecx*4]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
pop ecx
pop ecx
test eax, eax
je 0x4dac70
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, dword [edi + 0xa70]
jb 0x4dac35
mov ecx, 0x41b300
jmp 0x4db8a0
mov eax, dword [ebp - 8]
inc eax
push 0
mov dword [ebp - 8], eax
pop edx
cmp eax, dword [esi + 0xa70]
jb 0x4dac28
mov eax, dword [ebp - 0x90]
mov dword [edi + 0x1a8], eax
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb0]
mov dword [edi + 0xac], eax
mov dword [edi + 0xb0], ecx
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb8]
mov dword [edi + 0xb8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0xb4], eax
and ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
or eax, ecx
mov dword [ebp - 4], 1
jne 0x4dacd7
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x24]
mov eax, edx
and ecx, 2
or eax, ecx
je 0x4dace8
xor eax, eax
inc eax
jmp 0x4dacea
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db855
mov eax, edx
or eax, dword [ebp - 8]
je 0x4dad0e
mov al, byte [esi + 0x9a]
xor al, byte [edi + 0x9a]
test al, 0x20
jne 0x4db855
mov ecx, dword [edi + 0xb64]
test ecx, ecx
jne 0x4dad2a
cmp dword [esi + 0xb64], edx
je 0x4dad82
mov ecx, 0x41b330
jmp 0x4db8a0
mov edx, dword [esi + 0xb64]
test edx, edx
je 0x4dad20
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4dad20
or dword [ebp - 0x44], 0xffffffff
or dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x4c], 0x41aff4
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x4c]
call fcn.004da3cf
test eax, eax
je 0x4dad80
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004dbbc7
mov ecx, dword [esi + 0xb64]
lea eax, [ebp - 4]
push eax
push dword [ebp - 8]
call fcn.004dbd5b
test eax, eax
jne 0x4dad4c
jmp 0x4dad20
xor edx, edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x18]
test al, 0x10
je 0x4dad96
mov ecx, 0x41b340
jmp 0x4db8a0
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x194]
je 0x4dadae
mov ecx, 0x41b354
jmp 0x4db8a0
mov ecx, dword [ebp - 0xc]
mov eax, ecx
and eax, 0x80
or eax, edx
jne 0x4dadc8
mov eax, dword [ebp - 0x10]
and eax, 0x80
or eax, edx
je 0x4dae3d
mov eax, dword [ebp - 0x20c]
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
test eax, eax
je 0x4dade5
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x4dadda
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x124]
mov ecx, edx
jmp 0x4dadf3
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x4dadef
cmp dword [ebp - 4], ecx
jne 0x4db84e
mov eax, dword [ebp - 0x20c]
test eax, eax
je 0x4dae3a
mov eax, dword [eax]
mov ecx, dword [esi + 0x89c]
mov eax, dword [eax + 4]
add eax, dword [ecx]
mov ecx, dword [edi + 0x89c]
push eax
call fcn.00455a31
test eax, eax
je 0x4db84e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
test eax, eax
jne 0x4dae0a
xor edx, edx
mov ecx, dword [ebp - 0xc]
test byte [esi + 0x9a], 0x80
movzx eax, word [edi + 0x9a]
je 0x4dae57
or eax, 0x80
movzx eax, ax
jmp 0x4dae5c
and eax, 0xff7f
mov word [edi + 0x9a], ax
mov eax, 0x100
and ecx, eax
mov dword [ebp - 4], 1
mov eax, ecx
or eax, edx
jne 0x4dae7a
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, 0x100
or eax, edx
je 0x4dae8b
xor eax, eax
inc eax
jmp 0x4dae8d
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db847
or ecx, edx
je 0x4daea8
mov al, byte [esi + 0x52]
xor al, byte [edi + 0x52]
test al, 0x20
jne 0x4db847
mov ecx, dword [ebp - 0xc]
mov eax, ecx
and eax, 0x200
or eax, edx
je 0x4daeca
mov ax, word [esi + 0x40]
cmp ax, word [edi + 0x40]
je 0x4daeca
mov ecx, 0x41b3a4
jmp 0x4db8a0
and ecx, 0x80000000
mov dword [ebp - 4], 1
mov eax, ecx
or eax, edx
jne 0x4daee0
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, 0x80000000
or eax, edx
je 0x4daef1
xor eax, eax
inc eax
jmp 0x4daef3
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db840
or ecx, edx
je 0x4daf45
mov eax, 0x800
test dword [ebp - 0x18], eax
je 0x4daf13
test dword [ebp - 0x30], eax
je 0x4db840
mov eax, dword [ebp - 0x1d8]
xor eax, dword [ebp - 0xf0]
test eax, 0x800000
je 0x4daf30
mov ecx, 0x41b3c8
jmp 0x4db8a0
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x190]
je 0x4daf45
mov byte [0x5a510a], 1
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x4daf55
call fcn.0044a9ea
xor edx, edx
jmp 0x4daf57
mov eax, edx
mov dword [edi + 0x1c8], eax
cmp byte [0x5a510a], 0
jne 0x4daff0
mov ecx, dword [esi + 0xb24]
cmp ecx, dword [edi + 0xb24]
jne 0x4dafe7
mov eax, dword [esi + 0xb1c]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x4db049
lea ecx, [edi + 0xb1c]
mov edx, ecx
mov ecx, dword [eax + 4]
call fcn.0050b663
test eax, eax
je 0x4dafe7
mov ecx, dword [ebp - 8]
add eax, 0x18
push eax
add ecx, 0x18
call fcn.004da4c3
test al, al
jne 0x4dafd8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc ecx
cmp ecx, dword [esi + 0xb24]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], ecx
lea ecx, [edi + 0xb1c]
mov dword [ebp - 8], eax
jb 0x4daf92
mov al, byte [0x5a510a]
jmp 0x4dafdf
mov al, 1
mov byte [0x5a510a], al
xor edx, edx
test al, al
je 0x4db049
jmp 0x4daff0
mov byte [0x5a510a], 1
xor edx, edx
lea eax, [edi + 0xb1c]
mov dword [edi + 0xb24], edx
mov dword [eax], edx
mov dword [edi + 0xb20], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xb1c]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
cmp dword [esi + 0xb24], edx
jbe 0x4db049
mov ebx, edx
mov edi, eax
mov ecx, dword [edi + 4]
call fcn.0044a9ea
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
push 1
push eax
push eax
call fcn.00470834
mov edi, dword [edi + 0xc]
inc ebx
cmp ebx, dword [esi + 0xb24]
jb 0x4db01f
mov ebx, dword [ebp - 0x2c]
xor edx, edx
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov eax, edx
and ecx, 1
or eax, ecx
mov dword [ebp - 0x14], ecx
je 0x4db05d
xor ecx, ecx
inc ecx
jmp 0x4db05f
mov ecx, edx
and dword [ebp - 0x24], 1
mov eax, edx
or eax, dword [ebp - 0x24]
je 0x4db06f
xor eax, eax
inc eax
jmp 0x4db071
mov eax, edx
cmp ecx, eax
jne 0x4db0d6
mov eax, edx
or eax, dword [ebp - 0x14]
je 0x4db089
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x18]
test eax, 0x1000
jne 0x4db0d6
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x4db0e0
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x4db0d6
mov bx, word [ecx]
cmp bx, word [eax]
mov ebx, dword [ebp - 0x2c]
jne 0x4db0cd
cmp word [ecx], 0
je 0x4db0c9
mov di, word [ecx + 2]
cmp di, word [eax + 2]
mov word [ebp - 6], di
mov edi, dword [ebp - 0x20]
jne 0x4db0cd
add ecx, 4
add eax, 4
cmp word [ebp - 6], 0
jne 0x4db09a
mov eax, edx
jmp 0x4db0d2
sbb eax, eax
or eax, 1
test eax, eax
je 0x4db0e9
mov ecx, 0x41b3e8
jmp 0x4db8a0
cmp dword [ebp - 0x154], 0
jne 0x4db0d6
mov eax, dword [ebp - 0xc]
and eax, 0x400
or eax, edx
je 0x4db0fa
xor ecx, ecx
inc ecx
jmp 0x4db0fc
mov ecx, edx
mov eax, dword [ebp - 0x10]
and eax, 0x400
or eax, edx
je 0x4db10d
xor eax, eax
inc eax
jmp 0x4db10f
mov eax, edx
cmp ecx, eax
jne 0x4db839
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x18]
test eax, 0x2000
jne 0x4db839
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x1b4]
je 0x4db140
mov ecx, 0x41b408
jmp 0x4db8a0
mov eax, dword [ebp - 0xc]
mov ecx, 0x800
and eax, ecx
or eax, edx
jne 0x4db157
mov eax, dword [ebp - 0x10]
and eax, ecx
or eax, edx
je 0x4db1a5
mov eax, dword [ebp - 0x100]
cmp dword [0x5a3094], eax
jne 0x4db832
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], ecx
test eax, eax
je 0x4db1a5
mov edx, ecx
mov ecx, 0x5a308c
call fcn.00508a05
test al, al
je 0x4db832
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x14], ecx
cmp eax, dword [ebp - 0x100]
jb 0x4db179
mov eax, dword [edi + 0xa10]
test eax, eax
je 0x4db1d8
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
pop ecx
mov ecx, dword [ebp - 0x1a0]
inc eax
cmp ecx, eax
ja 0x4db22e
push dword [edi + 0xa10]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
inc eax
pop ecx
cmp dword [ebp - 0xb8], eax
ja 0x4db236
mov ecx, dword [edi + 0xb30]
xor eax, eax
test ecx, ecx
jne 0x4db1f0
cmp dword [esi + 0xb30], eax
je 0x4db32c
mov byte [ebp - 5], al
lea edx, [edi + 0xb28]
mov dword [ebp - 4], edx
mov edx, dword [edx]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], edx
test ecx, ecx
je 0x4db27e
lea ecx, [esi + 0xb28]
mov ebx, edx
mov dword [ebp - 0x24], ecx
mov esi, eax
mov edx, ecx
mov ecx, dword [ebx + 4]
call fcn.0050b663
test eax, eax
jne 0x4db240
mov byte [ebp - 5], 1
mov ecx, 0x5a4ba4
jmp 0x4db255
cmp ecx, dword [ebp - 0xb8]
je 0x4db1d8
mov ecx, 0x41b42c
jmp 0x4db8a0
add eax, 0x18
lea ecx, [ebx + 0x18]
push eax
call fcn.004da4c3
test al, al
je 0x4db267
mov ecx, 0x5a4b98
lea eax, [ebx + 4]
push eax
call fcn.004d9132
test eax, eax
jne 0x4db267
call fcn.004fd4dc
mov ebx, dword [ebx + 0xc]
inc esi
mov ecx, dword [ebp - 0x24]
cmp esi, dword [edi + 0xb30]
jb 0x4db215
mov ebx, dword [ebp - 0x2c]
xor eax, eax
mov esi, dword [ebp - 0x34]
mov ecx, dword [esi + 0xb28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
cmp dword [esi + 0xb30], eax
jbe 0x4db2d4
mov ebx, ecx
mov edi, eax
mov edx, dword [ebp - 4]
mov ecx, dword [ebx + 4]
call fcn.0050b663
test eax, eax
jne 0x4db2c0
lea eax, [ebx + 4]
mov byte [ebp - 5], 1
push eax
mov ecx, 0x5a4b98
call fcn.004d9132
test eax, eax
jne 0x4db2c0
call fcn.004fd4dc
mov ebx, dword [ebx + 0xc]
inc edi
cmp edi, dword [esi + 0xb30]
jb 0x4db296
mov ebx, dword [ebp - 0x2c]
xor eax, eax
mov edi, dword [ebp - 0x20]
cmp byte [ebp - 5], 0
je 0x4db32c
mov dword [edi + 0xb30], eax
mov dword [edi + 0xb28], eax
mov dword [edi + 0xb2c], eax
mov ecx, dword [esi + 0xb28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
cmp dword [esi + 0xb30], eax
jbe 0x4db32c
mov ebx, eax
mov edi, ecx
mov ecx, dword [edi + 4]
call fcn.0044a9ea
mov edx, dword [ebp - 4]
xor ecx, ecx
push 1
push eax
push eax
call fcn.00470834
mov edi, dword [edi + 0xc]
inc ebx
cmp ebx, dword [esi + 0xb30]
jb 0x4db304
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov eax, ecx
mov edx, dword [ebp - 0x18]
xor eax, edx
test eax, 0x200000
je 0x4db347
mov ecx, 0x41b448
jmp 0x4db8a0
mov eax, ecx
xor eax, edx
test eax, 0x400000
je 0x4db35c
mov ecx, 0x41b458
jmp 0x4db8a0
xor ecx, edx
test ecx, 0x800000
je 0x4db370
mov ecx, 0x41b464
jmp 0x4db8a0
mov ecx, dword [ebp - 0xc]
xor edx, edx
and ecx, 0x10000000
mov dword [ebp - 4], 1
mov eax, ecx
or eax, edx
jne 0x4db38b
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, 0x10000000
or eax, edx
je 0x4db39c
xor eax, eax
inc eax
jmp 0x4db39e
mov eax, edx
cmp dword [ebp - 4], eax
jne 0x4db82b
or ecx, edx
je 0x4db3c4
mov ax, word [esi + 0x9a]
xor ax, word [edi + 0x9a]
bt ax, 8
jb 0x4db82b
mov eax, dword [ebp - 0xc]
mov ecx, 0x4000
and eax, ecx
or eax, edx
je 0x4db3e2
mov ax, word [esi + 0x7c]
mov word [edi + 0x7c], ax
mov ax, word [esi + 0x7e]
mov word [edi + 0x7e], ax
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0x1b0]
je 0x4db3fa
mov ecx, 0x41b48c
jmp 0x4db8a0
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x17c]
je 0x4db412
mov ecx, 0x41b4a0
jmp 0x4db8a0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x4db422
call fcn.0044a9ea
xor edx, edx
jmp 0x4db424
mov eax, edx
mov dword [edi + 0x1dc], eax
mov eax, dword [ebp - 0xc]
and eax, 0x1000000
or eax, edx
je 0x4db43b
xor ecx, ecx
inc ecx
jmp 0x4db43d
mov ecx, edx
mov eax, dword [ebp - 0x10]
and eax, 0x1000000
or eax, edx
je 0x4db44e
xor eax, eax
inc eax
jmp 0x4db450
mov eax, edx
cmp ecx, eax
jne 0x4db824
mov eax, dword [ebp - 0x3c]
xor eax, dword [ebp - 0x28]
test eax, 0x1000000
jne 0x4db824
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x4db479
call fcn.0044a9ea
xor edx, edx
jmp 0x4db47b
mov eax, edx
mov dword [edi + 0x1bc], eax
mov ecx, 0x8000
mov eax, dword [ebp - 0xc]
and eax, ecx
or eax, edx
jne 0x4db498
mov eax, dword [ebp - 0x10]
and eax, ecx
or eax, edx
je 0x4db4ee
mov eax, dword [ebp - 0x118]
cmp dword [0x5a3088], eax
je 0x4db4b0
mov ecx, 0x414ab0
jmp 0x4db8a0
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x4db4ee
lea eax, [edi + 0xb34]
mov dword [edi + 0xb3c], edx
mov dword [eax], edx
mov dword [edi + 0xb38], edx
mov ecx, dword [esi + 0xb3c]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x4db549
mov ecx, 0x41b4b0
jmp 0x4db8a0
mov ecx, 0x41b478
jmp 0x4db8a0
mov ecx, 0x41b420
jmp 0x4db8a0
mov ecx, 0x41b400
jmp 0x4db8a0
mov ecx, 0x41b3b4
jmp 0x4db8a0
mov ecx, 0x41b380
jmp 0x4db8a0
mov ecx, 0x41b370
jmp 0x4db8a0
mov ecx, 0x41b314
jmp 0x4db8a0
mov ecx, 0x41b2f4
jmp 0x4db8a0
mov ecx, 0x41b2d4
jmp 0x4db8a0
mov ecx, 0x4149c4
jmp 0x4db8a0
mov ecx, 0x41b2c0
jmp 0x4db8a0
mov ecx, 0x41b2a4
jmp 0x4db8a0
mov ecx, 0x41b270
jmp 0x4db8a0
mov ecx, 0x41b218
jmp 0x4db8a0
mov ecx, 0x41b180
jmp 0x4db8a0
mov ecx, 0x41b088
jmp 0x4db8a0
mov ecx, 0x41b06c
mov dl, bl
call fcn.004dba37
xor al, al
pop edi
pop esi
pop ebx
leave
ret