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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3cc
mov dword [ebp - 0x3ac], eax
lea edx, [ebp - 0x348]
call fcn.0047559c
mov dword [esp], 0x1c
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ebx, eax
mov eax, dword [ebp - 0x3ac]
mov dword [eax + 0xc], ebx
mov eax, dword [ebp - 0x328]
mov dword [ebx], eax
mov edx, dword [ebp - 0x338]
mov dword [ebx + 4], edx
test eax, eax
jne 0x477c81
lea eax, [ebp - 0x364]
mov dword [esp + 4], eax
xor esi, esi
mov dword [esp], esi
mov ecx, 1
mov edx, 0xb
mov eax, dword [ebp - 0x3ac]
call fcn.00476deb
mov eax, dword [ebp - 0x35c]
mov dword [ebx], eax
mov byte [eax], 0
mov esi, dword [ebx]
mov eax, dword [ebp - 0x3ac]
call fcn.00577726
mov dword [esi + 8], eax
mov esi, dword [ebx]
cmp byte [esi], 1
jne 0x477ced
mov edi, dword [esi + 4]
test edi, edi
jne 0x477cb9
cmp dword [0x5af0fc], 0
je 0x4789c8
mov dword [0x611418], 1
mov dword [0x611414], 0x11
mov dword [esp], str.Error:_IRI_not_initialized_n
jmp 0x477d1e
mov eax, dword [ebp - 0x3ac]
call fcn.00430863
mov edx, edi
call fcn.0043086d
test eax, eax
je 0x4789c8
mov byte [esi], 0
mov edx, dword [ebx]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebx]
call fcn.00477bc9
mov eax, dword [ebx]
mov eax, dword [eax + 8]
test eax, eax
jne 0x477d28
cmp dword [0x5af0fc], 1
jbe 0x4789c8
mov dword [0x611418], 2
mov dword [0x611414], 0x11
mov dword [esp], str.Trying_to_initialize_an_animation_when_the_target_is_not_known_n
call fcn.004268ea
jmp 0x4789c8
mov edi, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x3ac]
mov edx, dword [esi]
cmp word [edx], 0x40c
je 0x477d45
test edi, edi
je 0x477ef6
mov esi, dword [ebp - 0x1dc]
test esi, esi
je 0x477d54
cmp byte [esi], 0
je 0x477d7a
mov edx, dword [ebp - 0x1c8]
test edx, edx
je 0x477d63
cmp byte [edx], 0
je 0x477d7a
mov edx, dword [ebp - 0x1c4]
test edx, edx
je 0x477e3c
cmp byte [edx], 0
jne 0x477e3c
mov edx, dword [edi + 8]
lea ecx, [ebp - 0x364]
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], 1
xor ecx, ecx
call fcn.00477028
test eax, eax
jne 0x477e3c
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x3b0], eax
xor ebx, ebx
mov edx, 0x71
cmp ebx, 1
je 0x477dcc
mov edx, 0x72
cmp ebx, 2
je 0x477dcc
mov edx, 0x6c
lea eax, [ebp - 0x364]
mov dword [esp + 4], eax
xor ecx, ecx
mov dword [esp], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x3ac]
call fcn.00476deb
test eax, eax
jne 0x477e32
mov eax, dword [ebp - 0x35c]
cmp byte [eax], 0
jne 0x477e32
mov ecx, dword [eax + 4]
xor edx, edx
mov dword [eax + 4], edx
test ecx, ecx
je 0x477e32
movzx eax, byte [ebp - 0x3b0]
mov dword [esp], eax
mov dword [ebp - 0x3b4], ecx
lea edx, [ebp - 0x364]
mov eax, dword [ebp - 0x3ac]
call fcn.00471064
mov ecx, dword [ebp - 0x3b4]
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
inc ebx
cmp ebx, 3
jne 0x477db3
mov dword [esp], 0x44
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ebx, dword [ebp - 0x3ac]
mov dword [ebx + 0x10], eax
mov edx, dword [ebp - 0x1bc]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x1c0]
mov dword [eax + 0x20], edx
mov dword [eax], edi
mov edx, dword [ebp - 0x208]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1c4]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x1d8]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x1c8]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x1cc]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x1d0]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x200]
mov dword [eax + 0x30], edx
mov dword [eax + 8], esi
mov edx, dword [ebp - 0x1a8]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x1d4]
mov dword [eax + 0x14], edx
mov edx, dword [ebx]
cmp word [edx], 0x40c
jne 0x477ee8
mov edx, dword [ebp - 0x1b4]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x1ac]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x1b8]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x1b0]
mov dword [eax + 0x3c], edx
jmp 0x477ef6
xor edx, edx
mov dword [eax + 0x34], edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x40], edx
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x3ac]
call fcn.00477779
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b0], 0
je 0x47893c
test eax, eax
je 0x47893c
mov eax, dword [ebp - 0x3ac]
mov esi, dword [eax + 0xc]
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x3b4], eax
lea ebx, [ebp - 0x39c]
mov ecx, 7
mov edi, ebx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax]
test eax, eax
je 0x477fb3
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
test edx, edx
jne 0x477f75
test eax, eax
jne 0x477f79
jmp 0x477fb3
test eax, eax
je 0x477fa1
lea edx, [ebp - 0x39c]
mov dword [esp + 4], edx
mov dword [esp], 1
mov ecx, 1
mov edx, eax
mov eax, dword [ebp - 0x3b4]
call fcn.00476deb
jmp 0x47803d
mov ecx, ebx
mov eax, dword [ebp - 0x3b4]
call fcn.0043189d
jmp 0x47803d
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax]
cmp word [eax], 0x40c
jne 0x478004
lea eax, [ebp - 0x39c]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
mov ecx, 1
mov edx, 0xd9
mov eax, dword [ebp - 0x3b4]
call fcn.00476deb
mov ecx, 6
xor eax, eax
mov edi, dword [ebp - 0x394]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x394]
fld1
fst dword [eax + 0x10]
fstp dword [eax]
jmp 0x47803d
cmp dword [0x5af0fc], 1
jbe 0x47893c
mov dword [0x611418], 2
mov dword [0x611414], 0x11
mov eax, dword [ebp - 0x3ac]
call fcn.004319a0
mov dword [esp + 4], eax
mov dword [esp], str._SMIL_Animation__Missing_attributeName_attribute_on_element__s_n
jmp 0x47809b
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 4]
test eax, eax
je 0x4780a5
cmp byte [eax], 0
jne 0x4780a5
lea edx, [ebp - 0x39c]
mov eax, dword [ebp - 0x3b4]
call fcn.00473d05
test eax, eax
jne 0x4780a5
cmp dword [0x5af0fc], 1
jbe 0x47893c
mov dword [0x611418], 2
mov dword [0x611414], 0x11
mov eax, dword [ebp - 0x3ac]
call fcn.004319a0
mov dword [esp + 4], eax
mov dword [esp], str._SMIL_Animation__Using_CSS_attributeType_for_an_animation_on_an_attribute_which_is_not_a_property__s_n
call fcn.004268ea
jmp 0x47893c
mov dword [esp], 0xdc
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ebx, eax
test eax, eax
jne 0x4780e4
cmp dword [0x5af0fc], 0
je 0x47893c
mov dword [0x611418], 1
mov dword [0x611414], 0x11
mov dword [esp], str._SMIL_Animation__Failed_to_allocated_SMIL_anim_RTI_n
jmp 0x4787b8
mov ecx, 0x37
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x3b0]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x3b8]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
fld1
fst dword [ebx + 0x28]
fstp dword [ebx + 0x18]
lea eax, [ebx + 0x18]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x34], 0x4e
lea edi, [ebx + 0x4c]
lea esi, [ebp - 0x39c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x398]
call fcn.0047072a
mov dword [ebx + 0x54], eax
xor eax, eax
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb8], 0xffffffff
mov dword [ebx + 0xc0], 0xbf800000
mov dword [ebx + 0xc4], 0xffffffff
xor eax, eax
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xc8], eax
mov eax, dword [ebp - 0x3b0]
mov edx, dword [eax + 0x14]
xor eax, eax
test edx, edx
je 0x47818d
mov edx, dword [edx + 4]
test edx, edx
je 0x47818d
mov eax, dword [edx + 4]
mov dword [ebx + 0xa0], eax
mov edi, dword [ebp - 0x3b0]
mov ecx, dword [edi + 0x28]
xor edx, edx
test ecx, ecx
je 0x4781ab
mov ecx, dword [ecx]
test ecx, ecx
je 0x4781ab
mov edx, dword [ecx + 4]
mov dword [ebx + 0xa4], edx
mov edi, dword [ebp - 0x3b0]
mov ecx, dword [edi + 0x34]
xor edx, edx
test ecx, ecx
je 0x4781c9
mov ecx, dword [ecx]
test ecx, ecx
je 0x4781c9
mov edx, dword [ecx + 4]
mov dword [ebx + 0xa8], edx
mov edi, dword [ebp - 0x3b0]
mov ecx, dword [edi + 0x24]
xor edx, edx
test ecx, ecx
je 0x4781e7
mov ecx, dword [ecx]
test ecx, ecx
je 0x4781e7
mov edx, dword [ecx + 4]
mov dword [ebx + 0xac], edx
test eax, eax
jne 0x4782ad
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 8]
test eax, eax
je 0x47820b
cmp byte [eax], 0
jne 0x4782ad
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x478221
cmp byte [eax], 0
jne 0x4782ad
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4782ad
cmp byte [eax], 0
je 0x4782ad
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x478273
lea eax, [ebp - 0x364]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
mov ecx, 1
mov edx, 0x73
mov eax, dword [ebp - 0x3ac]
call fcn.00476deb
mov eax, dword [ebp - 0x35c]
mov esi, dword [ebp - 0x3b0]
mov dword [esi + 0x20], eax
cmp byte [eax], 0
jne 0x4782a1
cmp dword [0x5af0fc], 1
jbe 0x4782a1
mov dword [0x611418], 2
mov dword [0x611414], 0x11
mov dword [esp], str._SMIL_Animation__Warning:_by_animations_cannot_use_additive_replace__n
call fcn.004268ea
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0x20]
mov byte [eax], 1
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax]
cmp word [eax], 0x40c
jne 0x478437
lea esi, [ebp - 0x380]
mov dword [esp + 4], esi
xor eax, eax
mov dword [esp], eax
xor ecx, ecx
mov edx, 0x77
mov eax, dword [ebp - 0x3ac]
call fcn.00476deb
mov edx, eax
xor eax, eax
test edx, edx
jne 0x4782f1
mov eax, dword [ebp - 0x378]
mov al, byte [eax]
mov byte [ebx + 0xd0], al
mov dword [esp + 4], esi
xor edi, edi
mov dword [esp], edi
xor ecx, ecx
mov edx, 0x75
mov eax, dword [ebp - 0x3ac]
call fcn.00476deb
mov edx, eax
xor eax, eax
test edx, edx
jne 0x478320
mov eax, dword [ebp - 0x378]
mov edi, dword [ebp - 0x3b0]
mov edx, dword [edi + 8]
test edx, edx
je 0x478336
cmp byte [edx], 0
jne 0x478437
mov esi, dword [ebp - 0x3b0]
mov edx, dword [esi + 0xc]
test edx, edx
je 0x47834c
cmp byte [edx], 0
jne 0x478437
mov edi, dword [ebp - 0x3b0]
mov edx, dword [edi + 0x14]
test edx, edx
je 0x478362
cmp byte [edx], 0
jne 0x478437
test eax, eax
je 0x47840f
cmp dword [eax + 0x14], 0
jne 0x4783e8
jmp 0x47840f
mov edi, dword [edi]
test edi, edi
je 0x478437
mov eax, dword [edi + 4]
mov edx, dword [eax]
cmp word [edx], 0x424
jne 0x478375
lea edx, [ebp - 0x364]
mov dword [esp + 4], edx
xor esi, esi
mov dword [esp], esi
xor ecx, ecx
mov edx, 0xb
call fcn.00476deb
test eax, eax
jne 0x478437
mov edx, dword [ebp - 0x35c]
mov eax, dword [edx + 8]
test eax, eax
je 0x47841d
mov edx, dword [eax]
cmp word [edx], 0x425
jne 0x478437
lea edx, [ebp - 0x364]
mov dword [esp + 4], edx
xor ecx, ecx
mov dword [esp], ecx
mov ecx, 1
mov edx, 0xa8
call fcn.00476deb
mov eax, dword [ebp - 0x35c]
mov dword [ebx + 0xcc], eax
call fcn.005420ca
mov dword [ebx + 0xd4], eax
xorps xmm0, xmm0
test eax, eax
je 0x478405
movss xmm0, dword [eax + 8]
movss dword [ebx + 0xd8], xmm0
jmp 0x478437
mov eax, dword [ebp - 0x3ac]
mov edi, dword [eax + 4]
jmp 0x478377
mov esi, dword [edx + 4]
test esi, esi
je 0x478437
mov eax, dword [edi + 4]
call fcn.00430863
mov edx, esi
call fcn.0043086d
test eax, eax
jne 0x4783bb
mov eax, dword [ebp - 0x3b4]
call fcn.00473a09
mov edi, eax
mov ecx, dword [ebp - 0x39c]
xor esi, esi
cmp esi, edi
je 0x478485
mov dword [ebp - 0x3bc], ecx
mov edx, esi
mov eax, dword [ebp - 0x3b4]
call fcn.00473a26
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3bc]
cmp dword [eax + 0x20], ecx
jne 0x478482
mov edx, ebx
mov eax, dword [eax]
call fcn.00425c52
jmp 0x4787c2
inc esi
jmp 0x47844c
mov dword [esp], 0x88
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov dword [ebp - 0x3b0], eax
test eax, eax
je 0x478790
mov ecx, 0x22
xor eax, eax
mov edi, dword [ebp - 0x3b0]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x39c]
mov eax, dword [ebp - 0x3b4]
call fcn.00473d05
mov esi, dword [ebp - 0x3b0]
mov dword [esi + 0x3c], eax
mov eax, esi
mov dword [esi + 0x60], 0x42
lea edi, [esi + 4]
mov ecx, 7
lea esi, [ebp - 0x39c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0xc]
mov edi, dword [ebp - 0x3b0]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x398]
call fcn.0047072a
mov esi, dword [ebp - 0x3b0]
mov dword [esi + 0xc], eax
mov eax, esi
add eax, 4
xor ecx, ecx
lea edx, [ebp - 0x39c]
call fcn.0047095d
mov eax, dword [ebp - 0x3b0]
lea edi, [eax + 0x20]
mov ecx, 7
lea esi, [ebp - 0x39c]
rep movsd dword es:[edi], dword [esi]
call fcn.00425c0a
mov edi, dword [ebp - 0x3b0]
mov dword [edi], eax
mov edx, ebx
call fcn.00425c52
cmp dword [ebp - 0x3b4], 0
je 0x4785b4
mov eax, dword [ebp - 0x3b4]
mov edi, dword [eax]
mov esi, dword [edi + 0x18]
test esi, esi
jne 0x47858d
mov dword [esp], 0xc
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x3b4]
mov eax, dword [eax]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x4785b4
mov ecx, 3
mov edi, edx
mov eax, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x3b4]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4785b4
cmp dword [esi + 8], 0
jne 0x47859b
call fcn.00425c0a
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x3b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x3b0]
call fcn.00425c52
mov ecx, dword [ebp - 0x398]
cmp ecx, 0x1d
ja 0x4785e5
cmp ecx, 4
jbe case.0x4785f1.59
lea eax, [ecx - 5]
cmp eax, 0x18
ja case.0x4785f1.59
jmp dword [eax*4 + 0x5dfe38]
mov eax, 8
jmp 0x478771
lea eax, [ecx - 0x38]
cmp eax, 0xe
ja case.0x4785f1.59
jmp dword [eax*4 + 0x5dfe9c]
mov eax, 0x100
jmp 0x478771
mov edx, dword [ebp - 0x39c]
mov eax, 4
cmp edx, 0x41
je 0x478771
ja 0x478636
mov eax, 0x10
cmp edx, 0x37
je 0x478771
xor eax, eax
cmp edx, 0x3a
sete al
shl eax, 0x10
jmp 0x478771
mov eax, 0x4000
cmp edx, 0x44
je 0x478771
xor eax, eax
cmp edx, 0x48
sete al
shl eax, 0xf
jmp 0x478771
mov edx, dword [ebp - 0x39c]
mov eax, 0x4000
cmp edx, 0x45
je 0x478771
ja 0x47869e
mov eax, 0x400000
cmp edx, 0x36
je 0x478771
mov eax, 0x200000
cmp edx, 0x3f
je 0x478771
mov eax, 1
cmp edx, 0x35
jne 0x478771
mov eax, 0x20
jmp 0x478771
mov eax, 0x8000
cmp edx, 0x49
je 0x478771
mov eax, 0x2000
cmp edx, 0xb2
je 0x478771
mov eax, 1
cmp edx, 0x47
jne 0x478771
mov eax, 0x1000
jmp 0x478771
mov edx, dword [ebp - 0x39c]
mov eax, 0x40000
cmp edx, 0x3c
je 0x478771
mov eax, 0x800000
cmp edx, 0x40
je 0x478771
mov eax, 1
jmp 0x478771
mov eax, 0x200
jmp 0x478771
mov eax, 0x400
jmp 0x478771
mov eax, 0x800
jmp 0x478771
mov eax, 0x20000
jmp 0x478771
mov eax, 0x80000
jmp 0x478771
mov eax, 0x100000
jmp 0x478771
mov eax, 0x1000000
jmp 0x478771
mov eax, 0x2000000
jmp 0x478771
mov eax, 0x4000000
jmp 0x478771
sub ecx, 0x2c
xor eax, eax
cmp ecx, 0x1c
ja 0x478771
mov eax, 1
shl eax, cl
mov edx, eax
mov eax, 1
and edx, 0x188fd000
jne 0x478771
xor eax, eax
test ecx, ecx
sete al
shl eax, 0x1b
jmp 0x478771
mov eax, pe_nt_image_headers32
jmp 0x478771
mov eax, 0x40
mov esi, dword [ebp - 0x3b0]
mov dword [esi + 0x80], eax
test eax, 0x2000001
setne al
movzx eax, al
mov dword [esi + 0x84], eax
jmp 0x4787c2
cmp dword [0x5af0fc], 0
je 0x47893c
mov dword [0x611418], 1
mov dword [0x611414], 0x11
mov dword [esp], str._SMIL_Animation__Failed_to_allocated_SMIL_attribue_ani_n
call fcn.004268ea
jmp 0x47893c
mov eax, dword [ebp - 0x3b0]
mov dword [ebx], eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x47891c
cmp dword [ebx + 0xcc], 0
je 0x47880a
mov edx, dword [ebx + 0x70]
test edx, edx
jne 0x4787f6
mov dword [esp], 0x18
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov edx, eax
mov dword [ebx + 0x70], eax
movss xmm0, dword [0x5e1a1c]
mov eax, ebx
call fcn.00473d61
jmp 0x47891c
mov edx, dword [ebx + 8]
mov ecx, dword [edx]
cmp word [ecx], 0x42c
jne 0x47886e
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x478831
movzx edx, byte [ecx]
mov dword [ebx + 0x6c], edx
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [ebx + 0x70], eax
jmp 0x47891c
cmp dword [0x5af0fc], 0
je 0x47891c
mov dword [0x611418], 1
mov dword [0x611414], 0x11
mov eax, edx
call fcn.004319a0
mov dword [esp + 4], eax
mov dword [esp], str._SMIL_Animation__Animation______s___set_element_without_to_attribute_n
call fcn.004268ea
jmp 0x47891c
cmp dword [ebx + 0xa0], 0
je 0x47888d
mov edx, dword [eax + 0x14]
movzx edx, byte [edx]
mov dword [ebx + 0x6c], edx
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 4]
call fcn.00425d90
jmp 0x4788bf
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
test ecx, ecx
je 0x4788af
movzx ecx, byte [ecx]
test cl, cl
je 0x4788af
test edx, edx
je 0x4788a7
cmp byte [edx], 0
jne 0x4788b3
mov dword [ebx + 0x6c], ecx
mov eax, dword [eax + 0xc]
jmp 0x4788bc
test edx, edx
je 0x4788c2
movzx edx, byte [edx]
mov dword [ebx + 0x6c], edx
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [ebx + 0x70], eax
lea esi, [ebx + 0x68]
mov eax, esi
call fcn.00475536
test eax, eax
je 0x4788e8
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0x24]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax + 0x28]
mov dword [ebx + 0x70], eax
mov eax, dword [ebp - 0x3b0]
cmp dword [eax + 0x3c], 0
je 0x47891c
mov eax, dword [ebx + 0x6c]
call fcn.0046d0a5
test eax, eax
je 0x47891c
mov edx, dword [ebp - 0x3b0]
add edx, 0x5c
mov eax, esi
call fcn.00473a95
mov edx, dword [ebx]
add edx, 0x40
mov eax, esi
call fcn.00473a6e
mov eax, dword [ebp - 0x3b8]
mov eax, dword [eax + 0x2c]
mov dword [eax + 0x24], 1
mov eax, dword [ebp - 0x3b8]
mov eax, dword [eax + 0x2c]
mov dword [eax + 0x28], 0x47688b
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax]
movzx eax, word [eax]
call fcn.004737cf
test eax, eax
je 0x4789c8
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [eax + 8]
test esi, esi
je 0x4789c8
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4789c8
mov edi, dword [eax + 0x2c]
test edi, edi
je 0x4789c8
xor edx, edx
mov dword [edi + 0x40], edx
xor ebx, ebx
mov eax, esi
call fcn.00473a09
cmp ebx, eax
jae 0x4789c8
mov edx, ebx
mov eax, esi
call fcn.00473a26
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x364], eax
lea edx, [ebp - 0x364]
mov eax, dword [ecx]
mov dword [ebp - 0x3ac], ecx
call fcn.00425f4e
test eax, eax
mov ecx, dword [ebp - 0x3ac]
je 0x4789c5
mov edx, dword [eax + 0x10]
cmp edi, dword [edx + 0x2c]
jne 0x47899b
mov dword [edi + 0x40], eax
jmp 0x4789c8
inc ebx
jmp 0x47897d
add esp, 0x3cc
pop ebx
pop esi
pop edi
pop ebp
ret