Function at 0x41d504
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0x58
mov eax, 0x46bf14
call fcn.004499a7
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
and dword [ebp - 4], 0
call fcn.0041d157
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0xc], 0x12
jne 0x41d58a
test byte [ebp + 0x18], 2
je 0x41d543
test esi, esi
je 0x41d543
push esi
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
call ebx
push 8
pop eax
mov word [esi], ax
jmp 0x41d549
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
test byte [ebp + 0x18], 1
je 0x41e4d0
push esi
call ebx
push 8
pop eax
mov word [esi], ax
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.00409a1e
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.0041d177
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov eax, dword [ebp - 0x4c]
mov dword [esi + 8], eax
jmp 0x41d590
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [ebp + 0xc], 2
jne 0x41d5c2
test byte [ebp + 0x18], 2
je 0x41d5b0
test esi, esi
je 0x41d5b0
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov ecx, dword [ebp - 0x3c]
call fcn.00409eed
cmp dword [ebp + 0xc], 0xf
jne 0x41d628
test byte [ebp + 0x18], 2
je 0x41d5e2
test esi, esi
je 0x41d5e2
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
call fcn.00407f0c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 0xc
jne 0x41d68e
test byte [ebp + 0x18], 2
je 0x41d648
test esi, esi
je 0x41d648
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 5
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x3c]
call fcn.004095c4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 8
jne 0x41d6e6
test byte [ebp + 0x18], 2
je 0x41d6ae
test esi, esi
je 0x41d6ae
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x4c], ecx
movzx eax, word [eax + 8]
mov dword [ebp - 0x38], eax
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
push dword [ebp - 0x38]
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
call fcn.0040e8cb
movzx ax, al
mov word [esi + 8], ax
cmp dword [ebp + 0xc], 0xa
jne 0x41d726
test byte [ebp + 0x18], 2
je 0x41d706
test esi, esi
je 0x41d706
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0x28]
push edx
push ecx
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.004091d4
cmp dword [ebp + 0xc], 0x11
jne 0x41d7dd
test byte [ebp + 0x18], 2
je 0x41d74a
test esi, esi
je 0x41d74a
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 6
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 7
mov eax, dword [edi]
movzx eax, word [eax + 8]
mov dword [ebp - 0x38], eax
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
push dword [ebp - 0x38]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 9
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x3c]
call fcn.00409f2f
movzx ax, al
mov word [esi + 8], ax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040141e
cmp dword [ebp + 0xc], 9
jne 0x41d843
test byte [ebp + 0x18], 2
je 0x41d7fd
test esi, esi
je 0x41d7fd
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x3c]
call fcn.0040a063
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x10
jne 0x41d91e
test byte [ebp + 0x18], 2
je 0x41d867
test esi, esi
je 0x41d867
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0xc
push esi
call ebx
push 8
pop eax
mov word [esi], ax
push ecx
mov ebx, esp
mov dword [ebp - 0x38], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0xd
push ebx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x3c]
call fcn.004099bc
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xc
call fcn.00402f5a
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00401925
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x41d8d8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x34]
call fcn.00406609
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x34]
call fcn.0041d177
mov dword [esi + 8], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.0040148e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040141e
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [ebp + 0xc], 0xb
jne 0x41d984
test byte [ebp + 0x18], 2
je 0x41d93e
test esi, esi
je 0x41d93e
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x3c]
call fcn.00409448
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 0xd
jne 0x41d9fa
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x13
push 8
pop eax
mov word [esi], ax
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x3c]
call fcn.0041032b
mov byte [ebp - 4], 0x15
mov ecx, eax
call fcn.0041d177
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov eax, dword [ebp - 0x4c]
mov dword [esi + 8], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 0xe
jne 0x41dae5
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x16
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x17
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0x18
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x19
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x38], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x38]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x3c]
call fcn.00411926
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x44]
call fcn.0040141e
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x13
jne 0x41db44
test byte [ebp + 0x18], 2
je 0x41db05
test esi, esi
je 0x41db05
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
push esi
call ebx
push 8
pop eax
mov word [esi], ax
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.00409a79
mov byte [ebp - 4], 0x1e
mov ecx, eax
call fcn.0041d177
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov eax, dword [ebp - 0x4c]
mov dword [esi + 8], eax
cmp dword [ebp + 0xc], 0x1f
jne 0x41db87
test byte [ebp + 0x18], 2
je 0x41db64
test esi, esi
je 0x41db64
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41dee0
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
mov ecx, dword [ebp - 0x3c]
call fcn.0040a051
movzx ax, al
mov word [esi + 8], ax
cmp dword [ebp + 0xc], 0x14
jne 0x41dc62
test byte [ebp + 0x18], 2
je 0x41dbab
test esi, esi
je 0x41dbab
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x1f
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x20
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x21
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x22
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x23
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x3c]
call fcn.00409680
movzx ax, al
mov word [esi + 8], ax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x15
jne 0x41dd0d
test byte [ebp + 0x18], 2
je 0x41dc86
test esi, esi
je 0x41dc86
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x25
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x26
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x27
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x28
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x3c]
call fcn.0040980c
movzx ax, al
mov word [esi + 8], ax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x16
jne 0x41dd84
test byte [ebp + 0x18], 2
je 0x41dd2d
test esi, esi
je 0x41dd2d
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x29
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x3c]
call fcn.00409964
movzx ax, al
mov word [esi + 8], ax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x19
jne 0x41ddc1
test byte [ebp + 0x18], 2
je 0x41dda4
test esi, esi
je 0x41dda4
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
movzx ecx, word [eax + 8]
mov eax, dword [eax + 0x18]
push ecx
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.004091b1
cmp dword [ebp + 0xc], 0x1a
jne 0x41ded6
test byte [ebp + 0x18], 2
je 0x41dde5
test esi, esi
je 0x41dde5
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0x2b
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x2c
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x2d
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x2f
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x30
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x31
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x3c]
call fcn.00409abb
mov byte [ebp - 4], 0x33
mov ecx, eax
call fcn.0041d177
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x1f
jne 0x41dfeb
test byte [ebp + 0x18], 2
je 0x41defa
test esi, esi
je 0x41defa
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0x34
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x35
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x36
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x37
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x38
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x39
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x3a
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x3c]
call fcn.00409c6b
mov byte [ebp - 4], 0x3c
mov ecx, eax
call fcn.0041d177
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x20
jne 0x41e0e5
test byte [ebp + 0x18], 2
je 0x41e00f
test esi, esi
je 0x41e00f
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0x3d
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x3e
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x3f
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x40
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x41
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x42
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x43
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x3c]
call fcn.0040d9fb
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x21
jne 0x41e23f
test byte [ebp + 0x18], 2
je 0x41e109
test esi, esi
je 0x41e109
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x38]
call fcn.00406dd3
mov byte [ebp - 4], 0x45
mov eax, dword [edi]
push dword [eax + 0x18]
lea ecx, [ebp - 0x4c]
call fcn.00406dd3
mov byte [ebp - 4], 0x46
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x44]
call fcn.00406dd3
mov byte [ebp - 4], 0x47
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x34]
call fcn.00406dd3
mov byte [ebp - 4], 0x48
mov eax, dword [edi]
push dword [eax + 0x48]
lea ecx, [ebp - 0x48]
call fcn.00406dd3
mov byte [ebp - 4], 0x49
mov eax, dword [edi]
push dword [eax + 0x58]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x4a
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
lea eax, [ebp - 0x38]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x4b
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x4c]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x44]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x4d
push ecx
mov ecx, esp
mov dword [ebp - 0x64], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
lea eax, [ebp - 0x48]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x4f
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x3c]
call fcn.0040811e
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x40]
call fcn.0040141e
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x48]
call fcn.0040141e
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x44]
call fcn.0040141e
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x4c]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x17
jne 0x41e31e
test byte [ebp + 0x18], 2
je 0x41e263
test esi, esi
je 0x41e263
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x48], ecx
push dword [eax + 0x18]
lea ecx, [ebp - 0x40]
call fcn.00406dd3
mov byte [ebp - 4], 0x51
mov eax, dword [edi]
push dword [eax + 0x28]
lea ecx, [ebp - 0x4c]
call fcn.00406dd3
mov byte [ebp - 4], 0x52
mov eax, dword [edi]
push dword [eax + 0x38]
lea ecx, [ebp - 0x38]
call fcn.00406dd3
mov byte [ebp - 4], 0x53
push esi
call ebx
push 0x16
pop eax
mov word [esi], ax
push dword [ebp - 0x48]
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x40]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x54
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
lea eax, [ebp - 0x4c]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x55
push ecx
mov ecx, esp
mov dword [ebp - 0x64], esp
lea eax, [ebp - 0x38]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0x3c]
call fcn.0041188c
mov dword [esi + 8], eax
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x4c]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x1c
jne 0x41e35c
test byte [ebp + 0x18], 2
je 0x41e33e
test esi, esi
je 0x41e33e
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
movzx ecx, word [eax + 8]
movzx eax, word [eax + 0x18]
push ecx
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.004094b8
cmp dword [ebp + 0xc], 0x1e
jne 0x41e3c2
test byte [ebp + 0x18], 2
je 0x41e37c
test esi, esi
je 0x41e37c
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x38]
call fcn.00406dd3
mov byte [ebp - 4], 0x57
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x38]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x58
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x3c]
call fcn.0040a30f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.0040141e
cmp dword [ebp + 0xc], 0x22
jne 0x41e3f4
test byte [ebp + 0x18], 2
je 0x41e3e2
test esi, esi
je 0x41e3e2
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov ecx, dword [ebp - 0x3c]
call fcn.00409496
cmp dword [ebp + 0xc], 0x1d
jne 0x41e4d0
test byte [ebp + 0x18], 2
je 0x41e418
test esi, esi
je 0x41e418
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e4d0
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
push esi
call ebx
push 8
pop eax
mov word [esi], ax
lea ecx, [ebp - 0x34]
call fcn.004013f4
mov byte [ebp - 4], 0x59
push dword [ebp - 0x38]
push 0x471a34
lea eax, [ebp - 0x34]
push eax
call fcn.00403835
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.004013f4
mov byte [ebp - 4], 0x5a
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x34]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x5b
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x3c]
call fcn.0040ac9c
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [ebp - 0x44]
call fcn.00406651
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x38]
call fcn.0040141e
push 0x470b08
push 0x474630
lea ecx, [ebp - 0x44]
call fcn.004063af
lea ecx, [ebp - 0x44]
call fcn.0041d177
mov dword [esi + 8], eax
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x44]
call fcn.0040141e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0040141e
mov byte [ebp - 4], 0x5d
cmp dword [ebp + 0xc], 0x1b
jne 0x41e536
test byte [ebp + 0x18], 2
je 0x41e4f4
test esi, esi
je 0x41e4f4
push esi
call ebx
push 0xb
pop eax
mov word [esi], ax
xor eax, eax
inc eax
mov word [esi + 8], ax
test byte [ebp + 0x18], 1
je 0x41e536
mov eax, dword [edi]
push dword [eax + 8]
lea ecx, [ebp - 0x38]
call fcn.00406dd3
mov byte [ebp - 4], 0x5e
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
lea eax, [ebp - 0x38]
push eax
call fcn.004016b8
mov byte [ebp - 4], 0x5f
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x3c]
call fcn.00409e1b
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x38]
call fcn.0040141e
and dword [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
xor eax, eax
call fcn.00449a03
ret 0x24