Function at 0x497cd0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x72b6c1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x2c]
push esi
push edi
mov edi, dword [esp + 0x30]
test edi, edi
mov dword [esp + 0xc], ecx
je 0x497d34
mov eax, dword [ebx]
push 0
push 0
push 0
mov ecx, ebx
lea esi, [edi + 0x2cc]
call dword [eax + 0x9c]
fimul dword [esp + 0x44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00401150
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp edi, eax
jne 0x497d34
call fcn.005cd1b0
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x52464552
jg 0x497d91
je 0x497d6e
cmp eax, 0x48434e45
jg 0x497d5e
je 0x497d7b
cmp eax, 0x41455243
je 0x497d7b
cmp eax, 0x4356454c
je 0x497d7b
jmp 0x497db8
cmp eax, 0x49544341
je 0x497d7b
cmp eax, 0x4c455053
je 0x497d7b
jmp 0x497db8
push str.Never_call_the_third_addobject_with_a_reference._This_item_will_not_be_added_
call fcn.00477400
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret 0x10
cmp eax, 0x544e4f43
jg 0x497daa
je 0x497d7b
cmp eax, 0x524f4f44
je 0x497d7b
cmp eax, 0x54415453
je 0x497d7b
jmp 0x497db8
cmp eax, 0x59444f42
je 0x497d7b
cmp eax, 0x5f43504e
je 0x497d7b
push ebp
mov ecx, 0x7cb478
mov esi, ebx
call fcn.004d51b0
mov edx, dword [ebx]
mov ecx, ebx
mov edi, eax
call dword [edx + 0x20]
push eax
push 0x775998
push edi
call dword [sym.imp.MSVCRT.dll_sprintf]
push 5
push str.Gold_
push edi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x18
test eax, eax
jne 0x497e38
mov eax, dword [0x791c60]
mov ebx, dword [sym.imp.MSVCRT.dll__stricmp]
mov dword [esp + 0x14], eax
mov ebp, 0x791c64
mov ecx, dword [ebp]
push ecx
push edi
call ebx
add esp, 8
test eax, eax
je 0x497e99
add ebp, 0xc
cmp ebp, 0x791c94
jl 0x497e04
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x38], edx
je 0x497e38
push str.Did_you_add_a_new_type_of_gold__r_nIt_needs_to_be_added_to_the_TES3Container.cpp_file._r_n
call fcn.00477400
add esp, 4
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jne 0x497e5a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
push eax
push str.Count_of_0_not_allowed_on_items._Fix_the_count_on___s_.
call fcn.00477400
add esp, 8
mov ebx, 1
mov edi, dword [esp + 0x10]
mov dl, byte [edi]
or dl, 1
lea ebp, [esi + 4]
mov ecx, ebp
mov byte [edi], dl
mov dword [esp + 0x14], 0
call fcn.004ee8b0
cmp eax, 0x4b4f4f42
jg 0x497ec0
je 0x497ed5
cmp eax, 0x4847494c
jg 0x497eaf
je 0x497e9f
cmp eax, 0x41504552
je 0x497eb6
cmp eax, 0x424f5250
je 0x497eb6
jmp 0x497f00
mov esi, dword [esp + 0x14]
jmp 0x497e38
cmp dword [esi + 0x60], 0xffffffff
je 0x497f00
mov dword [esp + 0x14], 4
jmp 0x497f00
cmp eax, 0x4b434f4c
jne 0x497f00
mov dword [esp + 0x14], 3
jmp 0x497f00
cmp eax, 0x4f4d5241
je 0x497ef8
cmp eax, 0x50414557
je 0x497eed
cmp eax, 0x544f4c43
jne 0x497f00
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd0]
test eax, eax
je 0x497f00
mov dword [esp + 0x14], 5
jmp 0x497f00
mov ecx, esi
call fcn.004f2480
test al, al
jne 0x497f00
mov dword [esp + 0x14], 2
lea ecx, [edi + 4]
call fcn.0047e710
test eax, eax
je 0x498127
mov edi, dword [eax + 8]
cmp dword [edi + 4], esi
mov dword [esp + 0x3c], edi
je 0x497f2c
mov eax, dword [esp + 0x10]
lea ecx, [eax + 4]
call fcn.0047e720
test eax, eax
jne 0x497f10
xor edx, edx
cmp edi, edx
je 0x498127
cmp dword [edi + 4], esi
jne 0x498127
mov al, byte [esp + 0x40]
test al, al
je 0x497f6f
mov eax, dword [edi + 8]
cmp eax, edx
mov dword [edi], ebx
je 0x497f8d
mov esi, dword [eax + 0xc]
xor ecx, ecx
cmp esi, edx
jbe 0x497f67
mov esi, dword [eax + 4]
mov dword [esi + ecx*4], edx
mov esi, dword [eax + 0xc]
inc ecx
cmp ecx, esi
jb 0x497f59
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
jmp 0x497f8d
cmp ebx, edx
jge 0x497f7f
mov eax, dword [edi]
cmp eax, edx
jle 0x497f7d
neg eax
mov dword [edi], eax
neg ebx
mov eax, dword [edi]
cmp eax, edx
jl 0x497f89
add eax, ebx
jmp 0x497f8b
sub eax, ebx
mov dword [edi], eax
mov ebp, dword [esp + 0x38]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x4c]
test eax, eax
je 0x498478
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x4c]
test ebx, ebx
mov dword [esp + 0x14], eax
jle 0x498478
mov eax, dword [edi + 8]
test eax, eax
jne 0x498009
push 0x18
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
xor eax, eax
cmp esi, eax
mov dword [esp + 0x2c], eax
je 0x497ffc
mov ecx, 1
push 4
mov dword [esi], 0x747a60
mov dword [esi + 8], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esi + 4], eax
jmp 0x497ffe
xor esi, esi
mov dword [esp + 0x2c], 0xffffffff
mov dword [edi + 8], esi
mov eax, dword [edi]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x1c], eax
mov ebx, 0
je 0x498478
mov eax, dword [edi + 8]
mov dword [esp + 0x40], 0
cmp ebx, dword [eax + 0xc]
jae 0x49803d
mov ecx, dword [eax + 4]
mov eax, dword [ecx + ebx*4]
test eax, eax
mov dword [esp + 0x40], eax
jne 0x49809b
push ebp
call fcn.004e7750
mov esi, dword [edi + 8]
add esp, 4
test eax, eax
mov dword [esp + 0x40], eax
je 0x49809b
mov edi, dword [esi + 0xc]
xor ecx, ecx
test edi, edi
jbe 0x498070
mov ebp, dword [esi + 4]
mov edx, ebp
cmp dword [edx], 0
je 0x49811b
inc ecx
add edx, 4
cmp ecx, edi
jb 0x49805f
cmp edi, dword [esi + 8]
jb 0x498082
mov edx, dword [esi + 0x14]
add edx, edi
push edx
mov ecx, esi
call fcn.0047c5a0
lea eax, [esp + 0x40]
push eax
push edi
mov ecx, esi
call fcn.004975d0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x498109
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 0x14]
test ecx, ecx
je 0x4980c0
call fcn.004ff600
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov eax, dword [eax + 0x560]
mov ecx, dword [esp + 0x10]
add eax, 0x3c
cmp ecx, eax
jne 0x498109
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x14]
lea edx, [esp + 0x18]
push edx
push str.OnPCAdd
call fcn.0050e7b0
cmp al, 0x73
jne 0x498109
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov word [eax + ecx*2], 1
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jb 0x49801f
jmp 0x498478
mov dword [ebp + ecx*4], eax
inc dword [esi + 0x10]
jmp 0x49808f
mov ecx, 0x7cb478
call fcn.004d51b0
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
call dword [edx + 0x20]
push eax
push str.containerObj__s
push edi
call dword [sym.imp.MSVCRT.dll_sprintf]
push 0xc
mov dword [0x7c952c], edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov ecx, dword [0x7c67dc]
add esp, 0x10
mov dword [esp + 0x3c], eax
call fcn.0040ff20
cmp dword [esp + 0x34], eax
jne 0x4981a6
mov ecx, ebp
call fcn.004ee8b0
cmp eax, 0x50414557
jne 0x4981a6
mov edi, dword [esp + 0x3c]
push edi
mov ecx, 0x7d3b30
call fcn.0047e7d0
test al, al
jne 0x4981aa
push edi
mov ecx, 0x7d3b30
call fcn.0047e360
jmp 0x4981aa
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x4c]
test eax, eax
je 0x498337
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x4c]
test ebx, ebx
mov dword [esp + 0x1c], eax
jle 0x498337
mov eax, dword [edi + 8]
test eax, eax
jne 0x49822a
push 0x18
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
xor eax, eax
cmp esi, eax
mov dword [esp + 0x2c], 2
je 0x49821d
mov ecx, 1
push 4
mov dword [esi], 0x747a60
mov dword [esi + 8], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esi + 4], eax
jmp 0x49821f
xor esi, esi
mov dword [esp + 0x2c], 0xffffffff
mov dword [edi + 8], esi
mov eax, dword [edi]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x20], eax
mov ebx, 0
je 0x498337
mov eax, dword [edi + 8]
mov dword [esp + 0x40], 0
cmp ebx, dword [eax + 0xc]
jae 0x49825e
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4]
test eax, eax
mov dword [esp + 0x40], eax
jne 0x4982bc
push ebp
call fcn.004e7750
mov esi, dword [edi + 8]
add esp, 4
test eax, eax
mov dword [esp + 0x40], eax
je 0x4982bc
mov edi, dword [esi + 0xc]
xor ecx, ecx
test edi, edi
jbe 0x498291
mov ebp, dword [esi + 4]
mov edx, ebp
cmp dword [edx], 0
je 0x49838e
inc ecx
add edx, 4
cmp ecx, edi
jb 0x498280
cmp edi, dword [esi + 8]
jb 0x4982a3
mov ecx, dword [esi + 0x14]
add ecx, edi
push ecx
mov ecx, esi
call fcn.0047c5a0
lea edx, [esp + 0x40]
push edx
push edi
mov ecx, esi
call fcn.004975d0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x49832a
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 0x14]
test ecx, ecx
je 0x4982e1
call fcn.004ff600
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov eax, dword [eax + 0x560]
mov ecx, dword [esp + 0x10]
add eax, 0x3c
cmp ecx, eax
jne 0x49832a
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x14]
lea edx, [esp + 0x18]
push edx
push str.OnPCAdd
call fcn.0050e7b0
cmp al, 0x73
jne 0x49832a
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov word [eax + ecx*2], 1
mov eax, dword [esp + 0x20]
inc ebx
cmp ebx, eax
jb 0x498240
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498467
dec eax
jne 0x498467
push 0x18
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x2c], 3
je 0x49839a
mov eax, 1
push 4
mov dword [esi], 0x747a60
mov dword [esi + 8], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esi + 4], eax
jmp 0x49839c
mov dword [ebp + ecx*4], eax
inc dword [esi + 0x10]
jmp 0x4982b0
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x2c], 0xffffffff
mov dword [edi + 8], esi
call fcn.004e5460
cmp eax, ebx
mov esi, dword [edi + 8]
mov dword [esp + 0x38], eax
je 0x498460
mov ebp, dword [esi + 0xc]
xor ecx, ecx
test ebp, ebp
jbe 0x4983e0
mov edi, dword [esi + 4]
mov edx, edi
cmp dword [edx], 0
je 0x49851d
inc ecx
add edx, 4
cmp ecx, ebp
jb 0x4983cb
mov edi, dword [esp + 0x3c]
mov eax, dword [esi + 8]
cmp ebp, eax
jb 0x498453
mov ecx, dword [esi + 0x14]
add ecx, ebp
cmp ecx, eax
je 0x498453
cmp ecx, ebp
jae 0x498417
mov edx, ecx
mov eax, dword [esi + 4]
mov edi, dword [eax + edx*4]
test edi, edi
lea eax, [eax + edx*4]
je 0x49840c
mov dword [eax], 0
dec dword [esi + 0x10]
mov eax, dword [esi + 0xc]
inc edx
cmp edx, eax
jb 0x4983f6
mov dword [esi + 0xc], ecx
mov edi, dword [esi + 4]
mov dword [esi + 8], ecx
shl ecx, 2
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esi + 0xc]
mov dword [esi + 4], eax
add esp, 4
xor eax, eax
test ecx, ecx
jbe 0x498446
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 4]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0xc]
inc eax
cmp eax, ecx
jb 0x498435
push edi
call fcn.00727530
mov edi, dword [esp + 0x40]
add esp, 4
lea edx, [esp + 0x38]
push edx
push ebp
mov ecx, esi
call fcn.004975d0
xor ecx, ecx
call fcn.004e7870
mov eax, dword [esp + 0x10]
push edi
lea ecx, [eax + 4]
call fcn.0047e360
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0049a0f0
movsx eax, byte [esi]
mov ecx, eax
shr ecx, 1
test cl, 1
pop ebp
je 0x498497
shr eax, 2
test al, 1
jne 0x49849e
mov ecx, esi
call fcn.0049b600
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
call dword [edx + 0xd0]
test eax, eax
je 0x4984f7
mov ecx, dword [0x7c67dc]
test ecx, ecx
je 0x4984f7
call fcn.0040ff20
test eax, eax
je 0x4984f7
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, dword [eax + 0x560]
test ecx, ecx
je 0x4984f7
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov eax, dword [eax + 0x560]
add eax, 0x3c
cmp esi, eax
jne 0x4984f7
push 1
call fcn.005e3070
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x498507
push eax
mov ecx, esi
call fcn.0049b670
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 0x10
mov dword [edi + ecx*4], eax
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x3c]
inc eax
mov dword [esi + 0x10], eax
jmp 0x498460