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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [0x7295cc]
imul ecx, ecx, 0xc90
push ebx
push ebp
push edi
lea ebp, [ecx + edx + 0x20]
xor eax, eax
mov ecx, 0x11d
mov edi, esi
push ebp
rep stosd dword es:[edi], eax
lea eax, [esp + 0x34]
push str._s_SKIN1
push eax
mov dword [esp + 0x18], ebp
xor ebx, ebx
call fcn.005986d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0059aa50
push ebp
lea edx, [esp + 0x44]
push str._s_SKIN1B
push edx
mov dword [esi + 0x3c8], eax
call fcn.005986d0
lea eax, [esp + 0x4c]
push eax
call fcn.0059aa50
push str.GLOBAL_SKIN1
mov dword [esi + 0x3cc], eax
call fcn.0059aa50
mov edi, dword [esp + 0x98]
mov dword [esi + 0x3d0], eax
mov eax, dword [edi + 0x490]
xor ebp, ebp
add esp, 0x24
cmp eax, ebp
je 0x55da57
mov ecx, dword [eax + 0x14]
cmp ecx, ebp
movsx edx, word [eax + 0x1c]
lea edx, [ecx + edx*8]
je 0x55da36
cmp ecx, edx
mov eax, ecx
jae 0x55da36
cmp dword [eax], 0x10c98090
je 0x55da4e
add eax, 8
cmp eax, edx
jb 0x55da27
xor eax, eax
push eax
push str._WHEEL
call fcn.0059aa80
add esp, 8
mov dword [esi + 0x3d4], eax
jmp 0x55da5d
cmp eax, ebp
je 0x55da36
mov eax, dword [eax + 4]
jmp 0x55da38
mov dword [esi + 0x3d4], ebp
mov eax, dword [edi + 0x444]
cmp eax, ebp
je 0x55da7b
mov dword [esi + 0x418], eax
mov eax, dword [edi + 0x448]
mov dword [esi + 0x424], eax
jmp 0x55da8d
mov ecx, dword [esi + 0x3c8]
mov dword [esi + 0x418], ecx
mov dword [esi + 0x424], ebp
mov eax, dword [esi + 0x418]
mov dword [esi + 0x41c], ebp
mov dword [esi + 0x420], eax
mov ecx, dword [edi + 0x444]
cmp ecx, ebp
je 0x55dab2
mov dword [esi], ecx
mov ebx, 1
jmp 0x55daf1
cmp eax, ebp
je 0x55dabd
mov dword [esi], eax
mov ebx, 1
mov ecx, dword [esi + 0x41c]
cmp ecx, ebp
je 0x55daf1
xor eax, eax
cmp ebx, ebp
jle 0x55dada
lea ecx, [ecx]
cmp dword [esi + eax*4], ecx
je 0x55dae3
inc eax
cmp eax, ebx
jl 0x55dad0
cmp ebx, 0x78
jl 0x55dae7
mov eax, ebx
jmp 0x55daef
xor eax, eax
jmp 0x55daef
mov dword [esi + ebx*4], ecx
mov eax, 1
add ebx, eax
mov ecx, dword [edi + 0x448]
cmp ecx, ebp
je 0x55db18
xor eax, eax
cmp ebx, ebp
jle 0x55db0b
cmp dword [esi + eax*4], ecx
je 0x55db14
inc eax
cmp eax, ebx
jl 0x55db01
cmp ebx, 0x78
jl 0x55db34
mov eax, ebx
jmp 0x55db3c
xor eax, eax
jmp 0x55db3c
mov ecx, dword [esi + 0x424]
cmp ecx, ebp
je 0x55db3e
xor eax, eax
cmp ebx, ebp
jle 0x55db0b
cmp dword [esi + eax*4], ecx
je 0x55db14
inc eax
cmp eax, ebx
jl 0x55db28
jmp 0x55db0b
mov eax, 1
mov dword [esi + ebx*4], ecx
add ebx, eax
mov edi, dword [esp + 0x74]
push edi
lea edx, [esi + 0x1e0]
push 0x78
push edx
xor eax, eax
call fcn.00583e00
mov ecx, dword [edi + 0x484]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x480]
mov edi, dword [esp + 0x18]
push edi
lea edx, [esp + 0x40]
push str._s_HEADLIGHT
push edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.005986d0
lea eax, [esp + 0x48]
push eax
call fcn.0059aa50
push edi
lea ecx, [esp + 0x50]
push str._s_BRAKELIGHT
push ecx
mov ebp, eax
call fcn.005986d0
lea edx, [esp + 0x58]
push edx
call fcn.0059aa50
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0x2c
test eax, eax
je 0x55dbed
mov ecx, eax
mov eax, dword [ecx + 0x14]
test eax, eax
movsx ecx, word [ecx + 0x1c]
lea ecx, [eax + ecx*8]
je 0x55dbed
cmp eax, ecx
jae 0x55dbed
cmp dword [eax], 0x10c98090
je 0x55dbd7
add eax, 8
cmp eax, ecx
jb 0x55dbc6
jmp 0x55dbed
test eax, eax
je 0x55dbed
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x55dbed
mov ecx, dword [esp + 0x10]
call fcn.004b0e50
mov ebp, eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x55dc2e
mov eax, dword [ecx + 0x14]
test eax, eax
movsx edx, word [ecx + 0x1c]
lea ecx, [eax + edx*8]
je 0x55dc2e
cmp eax, ecx
jae 0x55dc2e
cmp dword [eax], 0x10c98090
je 0x55dc18
add eax, 8
cmp eax, ecx
jb 0x55dc07
jmp 0x55dc2e
test eax, eax
je 0x55dc2e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x55dc2e
mov ecx, dword [esp + 0x14]
call fcn.004b0e50
mov edi, eax
push ebp
push str._LEFT
call fcn.0059aa80
push ebp
push str._RIGHT
mov dword [esi + 0x3e0], eax
call fcn.0059aa80
push ebp
push str._GLASS_LEFT
mov dword [esi + 0x3e4], eax
call fcn.0059aa80
push ebp
push str._GLASS_RIGHT
mov dword [esi + 0x3f4], eax
call fcn.0059aa80
push edi
push str._LEFT
mov dword [esi + 0x3f8], eax
call fcn.0059aa80
push edi
push str._RIGHT
mov dword [esi + 0x3e8], eax
call fcn.0059aa80
push edi
push str._CENTRE
mov dword [esi + 0x3ec], eax
call fcn.0059aa80
push edi
push str._GLASS_LEFT
mov dword [esi + 0x3f0], eax
call fcn.0059aa80
add esp, 0x40
push edi
push str._GLASS_RIGHT
mov dword [esi + 0x3fc], eax
call fcn.0059aa80
push edi
push str._GLASS_CENTRE
mov dword [esi + 0x400], eax
call fcn.0059aa80
push ebp
push str._OFF
mov dword [esi + 0x404], eax
mov dword [esi + 0x408], 0
call fcn.0059aa80
push ebp
push 0x6ab90c
mov dword [esi + 0x42c], eax
call fcn.0059aa80
push ebp
push str._DAMAGE0
mov dword [esi + 0x430], eax
call fcn.0059aa80
push ebp
push str._GLASS_OFF
mov dword [esi + 0x434], eax
call fcn.0059aa80
push ebp
push str._GLASS_ON
mov dword [esi + 0x438], eax
call fcn.0059aa80
push ebp
push str._GLASS_DAMAGE0
mov dword [esi + 0x43c], eax
call fcn.0059aa80
add esp, 0x40
push edi
push str._OFF
mov dword [esi + 0x440], eax
call fcn.0059aa80
push edi
push 0x6ab90c
mov dword [esi + 0x444], eax
call fcn.0059aa80
push edi
push str._DAMAGE0
mov dword [esi + 0x448], eax
call fcn.0059aa80
push edi
mov dword [esi + 0x44c], eax
push str._GLASS_OFF
call fcn.0059aa80
push edi
push str._GLASS_ON
mov dword [esi + 0x450], eax
call fcn.0059aa80
push edi
push str._GLASS_DAMAGE0
mov dword [esi + 0x454], eax
call fcn.0059aa80
xor ecx, ecx
mov dword [esi + 0x458], eax
mov eax, dword [esi + 0x42c]
add esp, 0x30
cmp eax, ecx
mov dword [esi + 0x45c], ecx
mov dword [esi + 0x460], ecx
mov dword [esi + 0x464], ecx
jne 0x55ddd9
xor eax, eax
jmp 0x55ddfb
xor ecx, ecx
test ebx, ebx
jle 0x55ddea
nop
cmp dword [esi + ecx*4], eax
je 0x55ddd5
inc ecx
cmp ecx, ebx
jl 0x55dde0
cmp ebx, 0x78
jl 0x55ddf3
mov eax, ebx
jmp 0x55ddfb
mov dword [esi + ebx*4], eax
mov eax, 1
mov ecx, dword [esi + 0x430]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55de2f
test ebx, ebx
jle 0x55de1a
lea ecx, [ecx]
cmp dword [esi + eax*4], ecx
je 0x55de23
inc eax
cmp eax, ebx
jl 0x55de10
cmp ebx, 0x78
jl 0x55de27
mov eax, ebx
jmp 0x55de2f
xor eax, eax
jmp 0x55de2f
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x434]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55de60
test ebx, ebx
jle 0x55de4b
cmp dword [esi + eax*4], ecx
je 0x55de54
inc eax
cmp eax, ebx
jl 0x55de41
cmp ebx, 0x78
jl 0x55de58
mov eax, ebx
jmp 0x55de60
xor eax, eax
jmp 0x55de60
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x438]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55de91
test ebx, ebx
jle 0x55de7c
cmp dword [esi + eax*4], ecx
je 0x55de85
inc eax
cmp eax, ebx
jl 0x55de72
cmp ebx, 0x78
jl 0x55de89
mov eax, ebx
jmp 0x55de91
xor eax, eax
jmp 0x55de91
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x43c]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55dec2
test ebx, ebx
jle 0x55dead
cmp dword [esi + eax*4], ecx
je 0x55deb6
inc eax
cmp eax, ebx
jl 0x55dea3
cmp ebx, 0x78
jl 0x55deba
mov eax, ebx
jmp 0x55dec2
xor eax, eax
jmp 0x55dec2
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x440]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55def3
test ebx, ebx
jle 0x55dede
cmp dword [esi + eax*4], ecx
je 0x55dee7
inc eax
cmp eax, ebx
jl 0x55ded4
cmp ebx, 0x78
jl 0x55deeb
mov eax, ebx
jmp 0x55def3
xor eax, eax
jmp 0x55def3
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x444]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55df24
test ebx, ebx
jle 0x55df0f
cmp dword [esi + eax*4], ecx
je 0x55df18
inc eax
cmp eax, ebx
jl 0x55df05
cmp ebx, 0x78
jl 0x55df1c
mov eax, ebx
jmp 0x55df24
xor eax, eax
jmp 0x55df24
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x448]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55df55
test ebx, ebx
jle 0x55df40
cmp dword [esi + eax*4], ecx
je 0x55df49
inc eax
cmp eax, ebx
jl 0x55df36
cmp ebx, 0x78
jl 0x55df4d
mov eax, ebx
jmp 0x55df55
xor eax, eax
jmp 0x55df55
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x44c]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55df86
test ebx, ebx
jle 0x55df71
cmp dword [esi + eax*4], ecx
je 0x55df7a
inc eax
cmp eax, ebx
jl 0x55df67
cmp ebx, 0x78
jl 0x55df7e
mov eax, ebx
jmp 0x55df86
xor eax, eax
jmp 0x55df86
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x450]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55dfb7
test ebx, ebx
jle 0x55dfa2
cmp dword [esi + eax*4], ecx
je 0x55dfab
inc eax
cmp eax, ebx
jl 0x55df98
cmp ebx, 0x78
jl 0x55dfaf
mov eax, ebx
jmp 0x55dfb7
xor eax, eax
jmp 0x55dfb7
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x454]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55dfef
test ebx, ebx
jle 0x55dfda
lea esp, [esp]
cmp dword [esi + eax*4], ecx
je 0x55dfe3
inc eax
cmp eax, ebx
jl 0x55dfd0
cmp ebx, 0x78
jl 0x55dfe7
mov eax, ebx
jmp 0x55dfef
xor eax, eax
jmp 0x55dfef
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x458]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55e020
test ebx, ebx
jle 0x55e00b
cmp dword [esi + eax*4], ecx
je 0x55e014
inc eax
cmp eax, ebx
jl 0x55e001
cmp ebx, 0x78
jl 0x55e018
mov eax, ebx
jmp 0x55e020
xor eax, eax
jmp 0x55e020
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ebp, dword [esp + 0xc]
push ebp
add ebx, eax
lea eax, [esp + 0x34]
push str._s_INTERIOR
push eax
call fcn.005986d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0059aa50
push ebp
lea edx, [esp + 0x44]
push str._s_BADGING
push edx
mov edi, eax
call fcn.005986d0
lea eax, [esp + 0x4c]
push eax
call fcn.0059aa50
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x54]
push str._s_BADGING_EU
push edx
mov ebp, eax
call fcn.005986d0
lea eax, [esp + 0x5c]
push eax
call fcn.0059aa50
mov ecx, dword [esp + 0x3c]
push ecx
lea edx, [esp + 0x64]
push str._s_LICENSE_PLATE
push edx
mov dword [esp + 0x58], eax
call fcn.005986d0
lea eax, [esp + 0x6c]
push eax
call fcn.0059aa50
mov dword [esi + 0x414], eax
add esp, 0x40
xor eax, eax
test edi, edi
mov dword [esi + 0x3d8], ebp
je 0x55e0d6
test ebx, ebx
jle 0x55e0c1
cmp dword [esi + eax*4], edi
je 0x55e0ca
inc eax
cmp eax, ebx
jl 0x55e0b7
cmp ebx, 0x78
jl 0x55e0ce
mov eax, ebx
jmp 0x55e0d6
xor eax, eax
jmp 0x55e0d6
mov dword [esi + ebx*4], edi
mov eax, 1
add ebx, eax
xor eax, eax
test ebp, ebp
je 0x55e101
test ebx, ebx
jle 0x55e0ec
cmp dword [esi + eax*4], ebp
je 0x55e0f5
inc eax
cmp eax, ebx
jl 0x55e0e2
cmp ebx, 0x78
jl 0x55e0f9
mov eax, ebx
jmp 0x55e101
xor eax, eax
jmp 0x55e101
mov dword [esi + ebx*4], ebp
mov eax, 1
mov ecx, dword [esp + 0x1c]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55e130
test ebx, ebx
jle 0x55e11b
cmp dword [esi + eax*4], ecx
je 0x55e124
inc eax
cmp eax, ebx
jl 0x55e111
cmp ebx, 0x78
jl 0x55e128
mov eax, ebx
jmp 0x55e130
xor eax, eax
jmp 0x55e130
mov dword [esi + ebx*4], ecx
mov eax, 1
mov edi, dword [esp + 0xc]
push edi
lea ecx, [esp + 0x34]
push str._s_SIDELIGHT
push ecx
add ebx, eax
call fcn.005986d0
lea edx, [esp + 0x3c]
push edx
call fcn.0059aa50
add esp, 0x10
test eax, eax
jne 0x55e15b
xor eax, eax
jmp 0x55e17c
xor ecx, ecx
test ebx, ebx
jle 0x55e16b
cmp dword [esi + ecx*4], eax
je 0x55e157
inc ecx
cmp ecx, ebx
jl 0x55e161
cmp ebx, 0x78
jl 0x55e174
mov eax, ebx
jmp 0x55e17c
mov dword [esi + ebx*4], eax
mov eax, 1
push edi
add ebx, eax
lea eax, [esp + 0x34]
push str._s_DOOR_HANDLE
push eax
call fcn.005986d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0059aa50
add esp, 0x10
test eax, eax
jne 0x55e1a3
xor eax, eax
jmp 0x55e1cb
xor ecx, ecx
test ebx, ebx
jle 0x55e1ba
lea esp, [esp]
cmp dword [esi + ecx*4], eax
je 0x55e19f
inc ecx
cmp ecx, ebx
jl 0x55e1b0
cmp ebx, 0x78
jl 0x55e1c3
mov eax, ebx
jmp 0x55e1cb
mov dword [esi + ebx*4], eax
mov eax, 1
push edi
lea edx, [esp + 0x34]
push str._s_LOGO
push edx
add ebx, eax
call fcn.005986d0
lea eax, [esp + 0x3c]
push eax
call fcn.0059aa50
add esp, 0x10
test eax, eax
jne 0x55e1f2
xor eax, eax
jmp 0x55e213
xor ecx, ecx
test ebx, ebx
jle 0x55e202
cmp dword [esi + ecx*4], eax
je 0x55e1ee
inc ecx
cmp ecx, ebx
jl 0x55e1f8
cmp ebx, 0x78
jl 0x55e20b
mov eax, ebx
jmp 0x55e213
mov dword [esi + ebx*4], eax
mov eax, 1
mov ebp, dword [esp + 0x78]
add ebx, eax
test ebp, ebp
mov eax, 0x6af230
jne 0x55e227
mov eax, 0x6af234
push eax
push edi
lea ecx, [esp + 0x38]
push str._s_SHADOW_s
push ecx
call fcn.005986d0
lea edx, [esp + 0x40]
push edx
call fcn.0059aa50
add esp, 0x14
test eax, eax
mov dword [esi + 0x470], eax
jne 0x55e253
xor eax, eax
jmp 0x55e27b
xor ecx, ecx
test ebx, ebx
jle 0x55e26a
lea esp, [esp]
cmp dword [esi + ecx*4], eax
je 0x55e24f
inc ecx
cmp ecx, ebx
jl 0x55e260
cmp ebx, 0x78
jl 0x55e273
mov eax, ebx
jmp 0x55e27b
mov dword [esi + ebx*4], eax
mov eax, 1
push edi
add ebx, eax
lea eax, [esp + 0x34]
push str._s_NEON
push eax
call fcn.005986d0
lea ecx, [esp + 0x3c]
push ecx
call fcn.0059aa50
add esp, 0x10
test eax, eax
jne 0x55e2a2
xor eax, eax
jmp 0x55e2c3
xor ecx, ecx
test ebx, ebx
jle 0x55e2b2
cmp dword [esi + ecx*4], eax
je 0x55e29e
inc ecx
cmp ecx, ebx
jl 0x55e2a8
cmp ebx, 0x78
jl 0x55e2bb
mov eax, ebx
jmp 0x55e2c3
mov dword [esi + ebx*4], eax
mov eax, 1
push edi
lea edx, [esp + 0x34]
push str._s_TIRE
push edx
add ebx, eax
call fcn.005986d0
lea eax, [esp + 0x3c]
push eax
call fcn.0059aa50
push edi
lea ecx, [esp + 0x44]
push 0x6ab850
push ecx
mov dword [esi + 0x40c], eax
call fcn.005986d0
lea edx, [esp + 0x4c]
push edx
call fcn.0059aa50
mov ecx, dword [esi + 0x40c]
mov dword [esi + 0x410], eax
mov dword [esi + 0x46c], eax
add esp, 0x20
xor eax, eax
test ecx, ecx
mov dword [esi + 0x468], ecx
je 0x55e343
test ebx, ebx
jle 0x55e32e
cmp dword [esi + eax*4], ecx
je 0x55e337
inc eax
cmp eax, ebx
jl 0x55e324
cmp ebx, 0x78
jl 0x55e33b
mov eax, ebx
jmp 0x55e343
xor eax, eax
jmp 0x55e343
mov dword [esi + ebx*4], ecx
mov eax, 1
mov ecx, dword [esi + 0x46c]
add ebx, eax
xor eax, eax
test ecx, ecx
je 0x55e374
test ebx, ebx
jle 0x55e35f
cmp dword [esi + eax*4], ecx
je 0x55e368
inc eax
cmp eax, ebx
jl 0x55e355
cmp ebx, 0x78
jl 0x55e36c
mov eax, ebx
jmp 0x55e374
xor eax, eax
jmp 0x55e374
mov dword [esi + ebx*4], ecx
mov eax, 1
mov edi, dword [esp + 0x74]
add ebx, eax
test ebp, ebp
je 0x55e3b8
mov ecx, dword [edi + 0x47c]
test ecx, ecx
je 0x55e3b8
call fcn.004b0e50
test eax, eax
je 0x55e3b8
xor ecx, ecx
test ebx, ebx
jle 0x55e3a1
cmp dword [esi + ecx*4], eax
je 0x55e3aa
inc ecx
cmp ecx, ebx
jl 0x55e397
cmp ebx, 0x78
jl 0x55e3ae
mov eax, ebx
jmp 0x55e3b6
xor eax, eax
jmp 0x55e3b6
mov dword [esi + ebx*4], eax
mov eax, 1
add ebx, eax
push str.SIZE
call fcn.0059aa50
push str.SHAPE
mov dword [esp + 0x7c], eax
call fcn.0059aa50
push str.SMALL
mov dword [esp + 0x84], eax
call fcn.0059aa50
push str.MEDIUM
call fcn.0059aa50
push str.LARGE
call fcn.0059aa50
push str.SQUARE
call fcn.0059aa50
push 0x6ad408
mov dword [esp + 0x40], eax
call fcn.0059aa50
push str.WIDE
mov dword [esp + 0x48], eax
call fcn.0059aa50
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x4c], eax
lea eax, [edi + 0x498]
add esp, 0x20
add edi, 0x538
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 7
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
test ecx, ecx
je 0x55e5dc
movsx edi, word [ecx + 0x1c]
mov eax, dword [ecx + 0x14]
shl edi, 3
test eax, eax
lea edx, [edi + eax]
je 0x55e5dc
cmp eax, edx
mov ecx, eax
jae 0x55e5dc
test ebp, ebp
je 0x55e486
cmp dword [ecx], ebp
je 0x55e486
add ecx, 8
cmp ecx, edx
jb 0x55e472
jmp 0x55e5dc
test ecx, ecx
je 0x55e5dc
test eax, eax
lea edx, [edi + eax]
je 0x55e5dc
cmp eax, edx
mov ecx, eax
jae 0x55e5dc
mov ebp, dword [esp + 0x78]
test ebp, ebp
je 0x55e4bb
cmp dword [ecx], ebp
je 0x55e4bb
add ecx, 8
cmp ecx, edx
jb 0x55e4a7
jmp 0x55e5d8
test ecx, ecx
je 0x55e5d8
test eax, eax
lea edx, [edi + eax]
je 0x55e4e7
cmp eax, edx
mov ecx, eax
jae 0x55e4e7
mov ebp, dword [esp + 0x74]
test ebp, ebp
je 0x55e4e3
cmp dword [ecx], ebp
je 0x55e4e3
add ecx, 8
cmp ecx, edx
jb 0x55e4d4
mov ebp, dword [esp + 0x78]
test eax, eax
lea ecx, [edi + eax]
je 0x55e501
cmp eax, ecx
jae 0x55e501
test ebp, ebp
je 0x55e55f
cmp dword [eax], ebp
je 0x55e55f
add eax, 8
cmp eax, ecx
jb 0x55e4f2
xor ebp, ebp
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], 8
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
test edi, edi
je 0x55e5be
push str.NAME
call fcn.0059aa50
mov ecx, dword [edi + 0x14]
movsx edx, word [edi + 0x1c]
add esp, 4
test ecx, ecx
lea edx, [ecx + edx*8]
je 0x55e54f
cmp ecx, edx
jae 0x55e54f
test eax, eax
je 0x55e568
cmp dword [ecx], eax
je 0x55e568
add ecx, 8
cmp ecx, edx
jb 0x55e540
xor eax, eax
cmp ebp, dword [esp + 0x24]
jne 0x55e571
push eax
push str._SQUARE
jmp 0x55e58b
test eax, eax
je 0x55e501
mov ebp, dword [eax + 4]
jmp 0x55e503
test ecx, ecx
je 0x55e54f
mov eax, dword [ecx + 4]
jmp 0x55e551
cmp ebp, dword [esp + 0x28]
jne 0x55e57f
push eax
push str._RECT
jmp 0x55e58b
cmp ebp, dword [esp + 0x2c]
jne 0x55e593
push eax
push str._WIDE
call fcn.0059aa80
add esp, 8
test eax, eax
jne 0x55e59b
xor eax, eax
jmp 0x55e5bc
xor ecx, ecx
test ebx, ebx
jle 0x55e5ab
cmp dword [esi + ecx*4], eax
je 0x55e597
inc ecx
cmp ecx, ebx
jl 0x55e5a1
cmp ebx, 0x78
jl 0x55e5b4
mov eax, ebx
jmp 0x55e5bc
mov dword [esi + ebx*4], eax
mov eax, 1
add ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x55e513
mov ebp, dword [esp + 0x74]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add edx, 4
add ecx, 0x20
dec eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x55e445
mov eax, dword [esp + 0x20]
pop edi
pop ebp
mov dword [esi + 0x3c0], ebx
mov dword [esi + 0x3c4], eax
pop ebx
add esp, 0x64
ret