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

Disassembly:
mov eax, dword [0x14c7638]
sub esp, 0x20
push ebx
push ebp
push esi
push edi
xor edi, edi
xor esi, esi
cmp eax, 0x80
jge 0x4592ce
mov esi, eax
imul esi, esi, 0xe4
add esi, 0x1519c00
inc eax
mov dword [0x14c7638], eax
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x90], edi
mov dword [esi + 0x10], edi
jmp 0x4592e0
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebx, ebx
cmp eax, 0x80
mov dword [esp + 0x10], ebx
jge 0x459318
mov ebx, eax
imul ebx, ebx, 0xe4
add ebx, 0x1519c00
inc eax
mov dword [esp + 0x10], ebx
mov dword [0x14c7638], eax
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x10], edi
jmp 0x45932a
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
mov ebp, 4
je 0x459366
cmp ebx, edi
je 0x459366
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x459354
or dword [esi + 0x14], ebp
mov dword [esi + ecx*4 + 0x94], ebx
inc dword [esi + 0x90]
jmp 0x459366
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebx, ebx
cmp eax, 0x80
mov dword [esp + 0x14], ebx
jge 0x45939e
mov ebx, eax
imul ebx, ebx, 0xe4
add ebx, 0x1519c00
inc eax
mov dword [esp + 0x14], ebx
mov dword [0x14c7638], eax
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x10], edi
jmp 0x4593b0
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x4593e7
cmp ebx, edi
je 0x4593e7
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x4593d5
or dword [esi + 0x14], ebp
mov dword [esi + ecx*4 + 0x94], ebx
inc dword [esi + 0x90]
jmp 0x4593e7
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebx, ebx
cmp eax, 0x80
jge 0x459417
mov ebx, eax
imul ebx, ebx, 0xe4
add ebx, 0x1519c00
inc eax
mov dword [0x14c7638], eax
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x10], edi
jmp 0x459429
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x459460
cmp ebx, edi
je 0x459460
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x45944e
or dword [esi + 0x14], ebp
mov dword [esi + ecx*4 + 0x94], ebx
inc dword [esi + 0x90]
jmp 0x459460
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
mov dword [esp + 0x18], ebp
jge 0x459499
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [esp + 0x18], ebp
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x4594ab
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x4594e3
cmp ebp, edi
je 0x4594e3
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x4594d1
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x4594e3
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
mov dword [esp + 0x1c], ebp
jge 0x45951c
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [esp + 0x1c], ebp
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x45952e
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x459566
cmp ebp, edi
je 0x459566
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x459554
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x459566
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
mov dword [esp + 0x20], ebp
jge 0x45959f
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [esp + 0x20], ebp
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x4595b1
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x4595e9
cmp ebp, edi
je 0x4595e9
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x4595d7
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x4595e9
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
mov dword [esp + 0x24], ebp
jge 0x459622
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [esp + 0x24], ebp
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x459634
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x45966c
cmp ebp, edi
je 0x45966c
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x45965a
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x45966c
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
mov dword [esp + 0x28], ebp
jge 0x4596a5
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [esp + 0x28], ebp
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x4596b7
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x4596ef
cmp ebp, edi
je 0x4596ef
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x4596dd
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x4596ef
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ebp, ebp
cmp eax, 0x80
jge 0x459720
mov ebp, eax
imul ebp, ebp, 0xe4
add ebp, 0x1519c00
inc eax
mov dword [0x14c7638], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x10], edi
jmp 0x459732
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
cmp esi, edi
je 0x45976a
cmp ebp, edi
je 0x45976a
mov ecx, dword [esi + 0x90]
cmp ecx, 0x14
jge 0x459758
or dword [esi + 0x14], 4
mov dword [esi + ecx*4 + 0x94], ebp
inc dword [esi + 0x90]
jmp 0x45976a
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor edi, edi
xor edx, edx
cmp eax, 0x80
mov dword [esp + 0x2c], edi
jge 0x4597a4
mov edi, eax
imul edi, edi, 0xe4
add edi, 0x1519c00
inc eax
mov dword [esp + 0x2c], edi
mov dword [0x14c7638], eax
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [edi + 0x14], edx
mov dword [edi + 0x90], edx
mov dword [edi + 0x10], edx
jmp 0x4597b8
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor edx, edx
mov ecx, dword [esp + 0x10]
cmp ecx, edx
je 0x4597f4
cmp edi, edx
je 0x4597f4
mov edx, dword [ecx + 0x90]
cmp edx, 0x14
jge 0x4597e2
or dword [ecx + 0x14], 4
mov dword [ecx + edx*4 + 0x94], edi
inc dword [ecx + 0x90]
jmp 0x4597f4
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
mov eax, dword [0x14c7638]
add esp, 4
xor ecx, ecx
xor edi, edi
cmp eax, 0x80
jge 0x459826
mov edi, eax
imul edi, edi, 0xe4
add edi, 0x1519c00
inc eax
mov dword [0x14c7638], eax
mov dword [edi], ecx
mov dword [edi + 4], ecx
mov dword [edi + 0x14], ecx
mov dword [edi + 0x90], ecx
mov dword [edi + 0x10], ecx
jmp 0x459835
push str.Too_many_HUD_elements_defined_n
call fcn.004777d0
add esp, 4
xor ecx, ecx
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x45986c
cmp edi, ecx
je 0x45986c
mov ecx, dword [eax + 0x90]
cmp ecx, 0x14
jge 0x45985f
or dword [eax + 0x14], 4
mov dword [eax + ecx*4 + 0x94], edi
inc dword [eax + 0x90]
jmp 0x45986c
push str.Too_many_HUD_subelements_defined_n
call fcn.004777d0
add esp, 4
mov ecx, 0x3f52db6e
mov edx, 0x3e06db6e
mov dword [esi + 0x44], ecx
mov dword [esi + 0x54], ecx
mov cx, word [0x1516548]
mov eax, 0x3f640000
mov dword [esi + 0x40], edx
mov dword [esi + 0x50], edx
movzx edx, cx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x4c], eax
xor eax, eax
push 0x15164a4
push edx
mov dword [esi + 0x48], 0x3de00000
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x10], 1
mov dword [esi + 0x6c], 0x15164a4
mov word [esi + 0x70], cx
mov word [esi + 0x72], ax
mov word [esi + 0x74], ax
call fcn.0048a200
movzx ecx, word [esi + 0x70]
dec eax
mov word [esi + 0x76], ax
mov eax, dword [esi + 0x6c]
push eax
push ecx
call fcn.0048a1c0
add esp, 0x10
dec eax
mov word [esi + 0x78], ax
mov eax, dword [esp + 0x10]
mov ecx, 0x3e19999a
mov dword [eax + 0x40], ecx
mov dword [eax + 0x50], ecx
xor ecx, ecx
mov dword [0x15165f4], esi
mov si, word [0x14c7700]
cmp si, 0x9a
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x58], ecx
mov ecx, 2
mov dword [eax + 0x38], 0xbf000000
mov dword [eax + 0x48], 0x3d4ccccd
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x15185c0
mov dword [eax + 0x80], 0x3fc00000
ja 0x45994e
mov edx, str.UNDEFINED
jmp 0x45995a
mov edx, dword [0x14d1bc8]
mov edx, dword [edx + 0x268]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x8c], edx
mov edx, 0x3f28f5c3
mov dword [0x1516694], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x40], edx
mov dword [eax + 0x50], edx
xor edx, edx
cmp si, 0x9c
mov dword [eax + 0x38], 0xbf000000
mov dword [eax + 0x48], 0x3d4ccccd
mov dword [eax + 0x64], edx
mov dword [eax + 0x60], edx
mov dword [eax + 0x5c], edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x15185c0
mov dword [eax + 0x80], 0x3fc00000
ja 0x4599b6
mov edx, str.UNDEFINED
jmp 0x4599c2
mov edx, dword [0x14d1bc8]
mov edx, dword [edx + 0x270]
mov dword [eax + 0x8c], edx
mov dword [0x1516698], eax
mov eax, 0x3cf5c28f
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x38], eax
mov eax, 0xbd4ccccd
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x64], ecx
mov dword [ebx + 0x10], 4
mov dword [ebx + 0x7c], 0x1517cb4
mov dword [ebx + 0x80], 0x3d0f5c29
mov dword [ebx + 0x8c], 0
mov eax, 0x3dcccccd
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x40], eax
mov eax, 0xbea3d70a
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x14]
mov edx, 1
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x60], edx
or eax, ecx
cmp si, 0xa2
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [0x151660c], ebx
mov ebx, 0x3e73b646
mov dword [eax + 0x48], ebx
mov dword [eax + 0x38], ebx
mov ebx, 0xbe147ae1
mov dword [eax + 0x50], ebx
mov dword [eax + 0x40], ebx
mov dword [eax + 0x5c], edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x1517cb4
mov dword [eax + 0x80], 0x3cf5c28f
mov word [eax + 0x88], dx
ja 0x459a89
mov ebx, str.UNDEFINED
jmp 0x459a95
mov ebx, dword [0x14d1bc8]
mov ebx, dword [ebx + 0x288]
mov dword [eax + 0x8c], ebx
mov ebx, dword [eax + 0x14]
or ebx, ecx
test si, si
mov dword [eax + 0x14], ebx
mov ebx, 0x3e73b646
mov dword [0x1516614], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x48], ebx
mov dword [eax + 0x38], ebx
mov ebx, 0xbdc28f5c
mov dword [eax + 0x50], ebx
mov dword [eax + 0x40], ebx
mov dword [eax + 0x5c], edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x1517cb4
mov dword [eax + 0x80], 0x3d0f5c29
mov word [eax + 0x88], dx
ja 0x459af5
mov ebx, str.UNDEFINED
jmp 0x459afd
mov ebx, dword [0x14d1bc8]
mov ebx, dword [ebx]
mov dword [eax + 0x8c], ebx
or dword [eax + 0x14], ecx
mov ebx, 0x3ee04189
mov dword [0x1516618], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x48], ebx
mov dword [eax + 0x38], ebx
mov ebx, 0xbe147ae1
mov dword [eax + 0x50], ebx
mov dword [eax + 0x40], ebx
mov ebx, dword [eax + 0x14]
or ebx, ecx
cmp si, 0xa3
mov dword [eax + 0x5c], edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x1517cb4
mov dword [eax + 0x80], 0x3cf5c28f
mov word [eax + 0x88], dx
mov dword [eax + 0x14], ebx
ja 0x459b62
mov ebx, str.UNDEFINED
jmp 0x459b6e
mov ebx, dword [0x14d1bc8]
mov ebx, dword [ebx + 0x28c]
mov dword [eax + 0x8c], ebx
mov ebx, 0x3ee04189
mov dword [0x151661c], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 0x48], ebx
mov dword [eax + 0x38], ebx
mov ebx, 0x3f666666
mov dword [eax + 0x4c], ebx
mov dword [eax + 0x3c], ebx
mov ebx, 0xbdc28f5c
mov dword [eax + 0x50], ebx
mov dword [eax + 0x40], ebx
mov ebx, dword [eax + 0x14]
or ebx, ecx
cmp si, 0x98
mov dword [eax + 0x5c], edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x1517cb4
mov dword [eax + 0x80], 0x3d0f5c29
mov word [eax + 0x88], dx
mov dword [eax + 0x14], ebx
ja 0x459bdb
mov ebx, str.UNDEFINED
jmp 0x459be7
mov ebx, dword [0x14d1bc8]
mov ebx, dword [ebx + 0x260]
mov dword [eax + 0x8c], ebx
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x7c], 0x15185c0
mov dword [ebp + 0x80], 0x3fc00000
mov dword [0x1516620], eax
mov eax, 0xbf0ccccd
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x40], eax
or dword [ebp + 0x14], ecx
mov eax, dword [esp + 0x28]
mov ebx, 0xbd8f5c29
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x38], ebx
mov dword [eax + 0x48], ebx
mov dword [eax + 0x38], ebx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x7c], 0x15185c0
mov dword [eax + 0x80], 0x3fc00000
mov ebx, 0xbe8f5c29
mov dword [eax + 0x50], ebx
mov dword [eax + 0x40], ebx
mov ebx, dword [eax + 0x14]
or ebx, ecx
cmp si, 0x9e
mov dword [eax + 0x14], ebx
mov dword [0x151663c], eax
mov eax, 0x3e19999a
mov dword [edi + 0x48], eax
mov dword [edi + 0x38], eax
mov eax, 0x3f4ccccd
mov dword [0x1516638], ebp
mov dword [edi + 0x4c], eax
mov dword [edi + 0x3c], eax
mov ebp, 0x3c54fdf4
mov ebx, 0x3f800000
mov eax, 0x3d0f5c29
mov dword [edi + 0x50], ebp
mov dword [edi + 0x40], ebp
mov dword [edi + 0x54], ebx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x58], edx
mov dword [edi + 0x5c], edx
mov dword [edi + 0x60], edx
mov dword [edi + 0x64], edx
mov dword [edi + 0x10], 3
mov dword [edi + 0x68], eax
mov dword [edi + 0x7c], 0x1517cb4
mov dword [edi + 0x80], eax
mov word [edi + 0x88], dx
ja 0x459cdc
mov eax, str.UNDEFINED
jmp 0x459ce7
mov eax, dword [0x14d1bc8]
mov eax, dword [eax + 0x278]
mov dword [edi + 0x8c], eax
or dword [edi + 0x14], ecx
mov eax, dword [esp + 0x2c]
mov edi, 0x3e19999a
mov dword [eax + 0x48], edi
mov dword [eax + 0x38], edi
mov edi, 0x3f4ccccd
mov dword [eax + 0x4c], edi
mov dword [eax + 0x3c], edi
mov edi, 0x3d0f5c29
mov dword [eax + 0x68], edi
mov dword [eax + 0x80], edi
pop edi
cmp si, 0x9f
pop esi
mov dword [eax + 0x50], ebp
mov dword [eax + 0x40], ebp
pop ebp
mov dword [eax + 0x54], ebx
mov dword [eax + 0x44], ebx
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], edx
mov dword [eax + 0x60], edx
mov dword [eax + 0x64], edx
mov dword [eax + 0x10], 3
mov dword [eax + 0x7c], 0x1517cb4
mov word [eax + 0x88], dx
pop ebx
ja 0x459d57
mov edx, str.UNDEFINED
jmp 0x459d63
mov edx, dword [0x14d1bc8]
mov edx, dword [edx + 0x27c]
mov dword [eax + 0x8c], edx
or dword [eax + 0x14], ecx
mov dword [0x1516640], eax
add esp, 0x20
ret