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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46261f
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x4776f4]
xor eax, esp
mov dword [esp + 0x318], eax
push ebx
push esi
push edi
mov eax, dword [0x4776f4]
xor eax, esp
push eax
lea eax, [esp + 0x330]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 0x1c]
add eax, 9
xor ebx, ebx
mov dword [esp + 0x34], ecx
cmp eax, ebx
je 0x41c11c
add eax, 0xfffffff7
jmp 0x41c11e
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x4c]
cmp eax, ebx
je 0x41c12d
add eax, 0xffffffb8
jmp 0x41c12f
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
add eax, 9
cmp eax, ebx
je 0x41c146
add eax, 0xfffffff7
jmp 0x41c148
xor eax, eax
mov esi, dword [esp + 0x10]
cmp esi, dword [eax + 4]
je 0x41cf7c
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
mov edx, dword [section..data]
add eax, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
mov edx, dword [section..data]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
mov edx, dword [section..data]
add eax, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0xc]
mov ecx, section..data
mov dword [esp + 0x24], 1
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x338], ebx
mov edi, 0xf
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
mov byte [esp + 0x338], 3
push 9
push str._xmlattr_
lea ecx, [esp + 0xf8]
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], ebx
mov byte [esp + 0xf8], bl
call fcn.00407fe0
cmp dword [esp + 0x104], 0x10
mov eax, dword [esp + 0xf0]
mov byte [esp + 0x10c], 0x2e
jae 0x41c255
lea eax, [esp + 0xf0]
mov dword [esp + 0x110], eax
lea ecx, [esi + 0x1c]
lea edx, [esp + 0xf0]
mov byte [esp + 0x338], 4
call fcn.0040a6f0
push 0xffffffffffffffff
mov esi, eax
push ebx
push esi
lea ecx, [esp + 0xa4]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
call fcn.00406c30
push 0x10
mov byte [esp + 0x33c], 5
call fcn.0042aebd
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x338], 6
cmp eax, ebx
je 0x41c2c7
mov ecx, dword [esi + 0x1c]
push eax
call fcn.00410720
jmp 0x41c2c9
xor eax, eax
mov dword [esp + 0xb4], eax
mov byte [esp + 0x338], 8
cmp dword [esp + 0x104], 0x10
jb 0x41c2f2
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.0042ab24
add esp, 4
push 3
push 0x46b3b8
lea ecx, [esp + 0x44]
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], ebx
mov byte [esp + 0xf8], bl
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 9
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41c342
add eax, 9
cmp eax, ebx
je 0x41c344
lea ecx, [eax - 9]
jmp 0x41c346
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41c352
add eax, 0xfffffff7
jmp 0x41c354
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41c364
add eax, 0xffffffc4
jmp 0x41c366
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41c392
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41c3a5
add eax, 0xfffffff7
jmp 0x41c3a7
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41c4bd
push 3
push 0x46b3b8
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
mov byte [esp + 0x74], 0x2e
jae 0x41c3e0
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0xa
call fcn.0040b040
mov esi, eax
lea ecx, [esp + 0xb8]
cmp ecx, esi
je 0x41c481
cmp dword [esp + 0xcc], 0x10
jb 0x41c427
mov edx, dword [esp + 0xb8]
push edx
call fcn.0042ab24
add esp, 4
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
cmp dword [esi + 0x14], 0x10
jae 0x41c45a
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [esp + 0xbc]
push esi
push eax
call fcn.0042b720
add esp, 0xc
jmp 0x41c465
mov ecx, dword [esi]
mov dword [esp + 0xb8], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [esp + 0xc8], edx
mov eax, dword [esi + 0x14]
mov dword [esp + 0xcc], eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov byte [esi], bl
cmp dword [esp + 0x50], 0x10
jb 0x41c495
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0042ab24
add esp, 4
mov byte [esp + 0x338], 8
cmp dword [esp + 0x6c], 0x10
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
jb 0x41c4bd
mov edx, dword [esp + 0x58]
push edx
call fcn.0042ab24
add esp, 4
push 4
push str.type
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 0xc
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41c4f8
add eax, 9
cmp eax, ebx
je 0x41c4fa
lea ecx, [eax - 9]
jmp 0x41c4fc
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41c508
add eax, 0xfffffff7
jmp 0x41c50a
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41c51a
add eax, 0xffffffc4
jmp 0x41c51c
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41c548
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41c55b
add eax, 0xfffffff7
jmp 0x41c55d
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41c673
push 4
push str.type
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
mov byte [esp + 0x74], 0x2e
jae 0x41c596
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0xd
call fcn.0040b040
mov esi, eax
lea ecx, [esp + 0xd4]
cmp ecx, esi
je 0x41c637
cmp dword [esp + 0xe8], 0x10
jb 0x41c5dd
mov edx, dword [esp + 0xd4]
push edx
call fcn.0042ab24
add esp, 4
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp dword [esi + 0x14], 0x10
jae 0x41c610
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [esp + 0xd8]
push esi
push eax
call fcn.0042b720
add esp, 0xc
jmp 0x41c61b
mov ecx, dword [esi]
mov dword [esp + 0xd4], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [esp + 0xe4], edx
mov eax, dword [esi + 0x14]
mov dword [esp + 0xe8], eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov byte [esi], bl
cmp dword [esp + 0x50], 0x10
jb 0x41c64b
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0042ab24
add esp, 4
mov byte [esp + 0x338], 8
cmp dword [esp + 0x6c], 0x10
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
jb 0x41c673
mov edx, dword [esp + 0x58]
push edx
call fcn.0042ab24
add esp, 4
push 5
push str.value
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 0xf
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41c6ae
add eax, 9
cmp eax, ebx
je 0x41c6b0
lea ecx, [eax - 9]
jmp 0x41c6b2
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41c6be
add eax, 0xfffffff7
jmp 0x41c6c0
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41c6d0
add eax, 0xffffffc4
jmp 0x41c6d2
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41c6fe
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41c711
add eax, 0xfffffff7
jmp 0x41c713
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41c81d
push 5
push str.value
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
mov byte [esp + 0x74], 0x2e
jae 0x41c74c
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0x10
call fcn.0040b040
mov esi, eax
lea ecx, [esp + 0x7c]
cmp ecx, esi
je 0x41c7e1
cmp dword [esp + 0x90], 0x10
jb 0x41c78d
mov edx, dword [esp + 0x7c]
push edx
call fcn.0042ab24
add esp, 4
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
cmp dword [esi + 0x14], 0x10
jae 0x41c7bd
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [esp + 0x80]
push esi
push eax
call fcn.0042b720
add esp, 0xc
jmp 0x41c7c5
mov ecx, dword [esi]
mov dword [esp + 0x7c], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x8c], edx
mov eax, dword [esi + 0x14]
mov dword [esp + 0x90], eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov byte [esi], bl
cmp dword [esp + 0x50], 0x10
jb 0x41c7f5
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0042ab24
add esp, 4
mov byte [esp + 0x338], 8
cmp dword [esp + 0x6c], 0x10
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
jb 0x41c81d
mov edx, dword [esp + 0x58]
push edx
call fcn.0042ab24
add esp, 4
push 6
push str.subkey
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 0x12
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41c858
add eax, 9
cmp eax, ebx
je 0x41c85a
lea ecx, [eax - 9]
jmp 0x41c85c
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41c868
add eax, 0xfffffff7
jmp 0x41c86a
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41c87a
add eax, 0xffffffc4
jmp 0x41c87c
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41c8a8
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41c8bb
add eax, 0xfffffff7
jmp 0x41c8bd
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41c9df
push 6
push str.subkey
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
mov eax, dword [esp + 0x58]
mov esi, 0x10
mov byte [esp + 0x74], 0x2e
cmp dword [esp + 0x6c], esi
jae 0x41c8fe
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0x13
call fcn.0040b040
mov byte [esp + 0x338], 0x14
cmp dword [eax + 0x14], esi
jb 0x41c92d
mov eax, dword [eax]
push eax
lea edx, [esp + 0x118]
lea ecx, [esp + 0x11c]
push edx
mov dword [esp + 0x11c], ecx
call fcn.00407100
mov byte [esp + 0x338], 0x15
mov edx, dword [esp + 0x114]
cmp edx, ebx
je 0x41c972
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41c961
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00413700
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x118]
cmp eax, ecx
je 0x41c998
push eax
call fcn.0042ae5d
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x50], esi
jb 0x41c9b0
mov edx, dword [esp + 0x3c]
push edx
call fcn.0042ab24
add esp, 4
xor eax, eax
mov byte [esp + 0x338], 8
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], eax
mov byte [esp + 0x3c], al
cmp dword [esp + 0x6c], esi
jb 0x41c9dd
mov eax, dword [esp + 0x58]
push eax
call fcn.0042ab24
add esp, 4
xor ebx, ebx
push 0xa
push str.subkeyname
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 0x16
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41ca1e
add eax, 9
cmp eax, ebx
je 0x41ca20
lea ecx, [eax - 9]
jmp 0x41ca22
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41ca2e
add eax, 0xfffffff7
jmp 0x41ca30
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41ca40
add eax, 0xffffffc4
jmp 0x41ca42
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41ca6e
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41ca81
add eax, 0xfffffff7
jmp 0x41ca83
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41cba5
push 0xa
push str.subkeyname
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
mov eax, dword [esp + 0x58]
mov esi, 0x10
mov byte [esp + 0x74], 0x2e
cmp dword [esp + 0x6c], esi
jae 0x41cac4
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0x17
call fcn.0040b040
mov byte [esp + 0x338], 0x18
cmp dword [eax + 0x14], esi
jb 0x41caf3
mov eax, dword [eax]
push eax
lea edx, [esp + 0x118]
lea ecx, [esp + 0x11c]
push edx
mov dword [esp + 0x11c], ecx
call fcn.00407100
mov byte [esp + 0x338], 0x19
mov edx, dword [esp + 0x114]
cmp edx, ebx
je 0x41cb38
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41cb27
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00413700
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x118]
cmp eax, ecx
je 0x41cb5e
push eax
call fcn.0042ae5d
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x50], esi
jb 0x41cb76
mov edx, dword [esp + 0x3c]
push edx
call fcn.0042ab24
add esp, 4
xor eax, eax
mov byte [esp + 0x338], 8
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], eax
mov byte [esp + 0x3c], al
cmp dword [esp + 0x6c], esi
jb 0x41cba3
mov eax, dword [esp + 0x58]
push eax
call fcn.0042ab24
add esp, 4
xor ebx, ebx
push 4
push str.name
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00407fe0
mov byte [esp + 0x338], 0x1a
mov eax, dword [esp + 0xb4]
cmp eax, ebx
je 0x41cbe4
add eax, 9
cmp eax, ebx
je 0x41cbe6
lea ecx, [eax - 9]
jmp 0x41cbe8
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 4]
cmp eax, ebx
je 0x41cbf4
add eax, 0xfffffff7
jmp 0x41cbf6
xor eax, eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
je 0x41cc06
add eax, 0xffffffc4
jmp 0x41cc08
xor eax, eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fcb0
add esp, 8
mov byte [esp + 0x338], 8
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x41cc34
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042ab24
add esp, 4
mov eax, dword [esp + 0xb4]
add eax, 9
cmp eax, ebx
je 0x41cc47
add eax, 0xfffffff7
jmp 0x41cc49
xor eax, eax
cmp esi, dword [eax + 4]
je 0x41cd6e
push 4
push str.name
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00407fe0
mov eax, dword [esp + 0x58]
mov esi, 0x10
mov byte [esp + 0x74], 0x2e
cmp dword [esp + 0x6c], esi
jae 0x41cc8a
lea eax, [esp + 0x58]
mov dword [esp + 0x78], eax
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x98]
mov byte [esp + 0x338], 0x1b
call fcn.0040b040
mov byte [esp + 0x338], 0x1c
cmp dword [eax + 0x14], esi
jb 0x41ccb9
mov eax, dword [eax]
push eax
lea edx, [esp + 0x118]
lea ecx, [esp + 0x11c]
push edx
mov dword [esp + 0x11c], ecx
call fcn.00407100
mov byte [esp + 0x338], 0x1d
mov edx, dword [esp + 0x114]
cmp edx, ebx
je 0x41cd01
mov eax, edx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41ccf0
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x24]
push eax
call fcn.00413700
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x118]
cmp eax, ecx
je 0x41cd27
push eax
call fcn.0042ae5d
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x50], esi
jb 0x41cd3f
mov edx, dword [esp + 0x3c]
push edx
call fcn.0042ab24
add esp, 4
xor eax, eax
mov byte [esp + 0x338], 8
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], eax
mov byte [esp + 0x3c], al
cmp dword [esp + 0x6c], esi
jb 0x41cd6c
mov eax, dword [esp + 0x58]
push eax
call fcn.0042ab24
add esp, 4
xor ebx, ebx
lea edi, [esp + 0xb8]
call fcn.0041d1a0
lea edi, [esp + 0xd4]
mov dword [esp + 0x14], eax
call fcn.0041d250
mov dword [esp + 0x24], eax
cmp eax, 1
jne 0x41cf2b
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x41cda9
lea eax, [esp + 0x7c]
push eax
lea edx, [esp + 0x220]
lea ecx, [esp + 0x224]
push edx
mov dword [esp + 0x224], ecx
call fcn.00407100
mov byte [esp + 0x338], 0x1e
mov edx, dword [esp + 0x21c]
cmp edx, ebx
je 0x41cdf1
mov eax, edx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41cde0
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00413700
mov byte [esp + 0x338], 8
mov eax, dword [esp + 0x21c]
lea ecx, [esp + 0x220]
cmp eax, ecx
je 0x41ce1f
push eax
call fcn.0042ae5d
add esp, 4
xor ebx, ebx
lea edx, [esp + 0x28]
push edx
call fcn.00418d80
mov esi, eax
call fcn.0041bfc0
mov edi, dword [esp + 0x34]
mov esi, dword [edi + 4]
mov ecx, dword [esi + 4]
lea eax, [esp + 0x14]
push eax
push ecx
push esi
call fcn.0041d310
mov ecx, dword [edi + 8]
mov edx, 0x9249248
sub edx, ecx
cmp edx, 1
jb 0x41cf72
inc ecx
mov dword [edi + 8], ecx
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
lea eax, [esp + 0x98]
push eax
mov byte [esp + 0x33c], 3
call fcn.0040a660
mov esi, 0x10
cmp dword [esp + 0x90], esi
jb 0x41ce97
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0042ab24
add esp, 4
mov edi, 0xf
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
cmp dword [esp + 0xe8], esi
jb 0x41cec7
mov edx, dword [esp + 0xd4]
push edx
call fcn.0042ab24
add esp, 4
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xcc], esi
jb 0x41cef5
mov eax, dword [esp + 0xb8]
push eax
call fcn.0042ab24
add esp, 4
lea esi, [esp + 0x14]
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
mov dword [esp + 0x338], 0xffffffff
call fcn.0041cfb0
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x41cf58
add eax, 0x48
jmp 0x41cf5a
cmp eax, 4
jne 0x41ce21
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x41cf46
lea eax, [esp + 0x7c]
push eax
call fcn.0042cfed
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x41ce21
xor eax, eax
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x41cf69
add eax, 0xffffffb8
jmp 0x41c12f
mov dword [esp + 0x10], ebx
jmp 0x41c133
push str.list_T__too_long
call fcn.0042a842
mov eax, 1
mov ecx, dword [esp + 0x330]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x318]
xor ecx, esp
call fcn.0042ab2f
mov esp, ebp
pop ebp
ret 4